IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] String --> Date


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut [Dates] String --> Date
    Comment transformer une chaine de caractere de ce style 20/10/2004 en un type date pour l'inserer dans un champs date d'une base de données ???

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Salut,

    ce que je te propose n'est pas parfait a mon avis, mais moi, je m'en contente car pour l'instant je ne suis pas assez parano pour me prendre trop la tête...

    il s'agit de convertir une chaîne de caractère représentant une date à la française en un TIMESTAMP UNIX. Ensuite en fonction du format du champ de ta base, je te laisse t'amuser avec la fonction date()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    /**
     * permet de convertir une chaine du type jj/mm/aaaa
     * en timestamp unix.
     */
    function french_date_str2unix_timestamp( $p_date_str ){
        if ( is_blank( $p_date_str ) ) return false;
        if ( 2 != substr_count( $p_date_str, '/' ) ) return false;
        list( $t_day, $t_month, $t_year ) = explode( '/', $p_date_str );
        $t_day = (int)$t_day;
        $t_month = (int)$t_month;
        $t_year = (int)$t_year;
        if ( $t_day >= 1 && $t_day <= 31 && $t_month >= 1 && $t_month <=12 && $t_year >= 1000 && $t_year <= 9999 ) {
            return mktime( 0, 0, 0, $t_month, $t_day, $t_year );
        } else {
            return false;
        }
    }
    PS: le is_blank() est une fonction perso pas bien compliquée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /**
     * Vérifie si une chaine est vide ou pas
     * Une chaine composée uniquement d'espace est vide...
     */
    function is_blank( $p_str ) {
    	$p_str = trim( $p_str );
    	$str_len = strlen( $p_str );
    	if ( 0 == $str_len ) {
    		return true;
    	}
    	return false;
    }

Discussions similaires

  1. Transformation de dates numériques en date string
    Par mamour71 dans le forum MATLAB
    Réponses: 6
    Dernier message: 11/06/2012, 14h23
  2. [XL-2007] couleur cellule date differente si date passee, ou date du jour
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/03/2011, 08h24
  3. comparer une date (String) à la date d'aujourd'hui
    Par Dalidou dans le forum Langage
    Réponses: 15
    Dernier message: 16/03/2009, 14h11
  4. convertir date (String to Date)
    Par mystro7200 dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2008, 15h49
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo