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

SQL Procédural MySQL Discussion :

format de date


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 35
    Par défaut format de date
    Bonjour,

    voilà j'ai un petit soucis d'alimentation d'une table.

    J'ai une date sous le format dd/mm/yyyy qui est saisie sur un formulaire.

    Mais je n'arrive à l'enregistrer en table.

    Je pense que c'est à cause du format, alors j'aimerais savoir comment vous faîtes pour gérer cette problèmatique. A priori mysql attend yyyymmdd si j'ai bien compris? Y a-t-il une méthode simple?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    Une petite fonction php que j'ai trouvé sur Internet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function dateswitch($Date){ 
    	$regs=explode("/", "/".$Date);
    	return $regs['3']."/".$regs['2']."/".$regs['1'];
    }
    En fait, il sépare la date que tu lui donne en paramètre en 3 lorsqu'il trouve les tirets, il les enregistre dans $regs, et après il retourne une chaîne où les valeurs sont réordonnées.
    Si la date est au format DD/MM/YYYY, après le explode, tu as $regs[1] = DD, $regs[2] = MM, $regs[3] = YYYY, et il retournera YYYY/MM/DD.

    Voilà.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut
    Bonjour,
    merci d'avoir répondu à cette question puisque la mienne est quasiment la meme... mais j'aurais besoin de quelques informations complémentaires.
    Moi j'ai une date de format mm-dd-yyyy que je veux passer en yyyy-mm--dd... mais j'ai beau éplucher la FAQ et cette petite fonction rien à faire, j'y arrive pas!

    Donc voila le code (inclut dans une classe d'ou le $this) :

    La fonction modifiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     //passe une date de format mm-dd-yyyy en yyyy-mm-dd
    	function dateswitch($date)
    	{ 
    		$regs=explode("-", "-".$date); 
    		return $regs['3']."-".$regs['1']."-".$regs['2']; 
    	}
    et dans le code principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $jourOk=$this->dateswitch($dateJour);
    et j'obtiens lorsque je fais un echo de $jourOk : "7-7-" lorsque $date=07-02-2007
    Bizarre donc...

    Merci beaucoup pour votre aide!

  4. #4
    Membre émérite Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Par défaut
    Si ton champ est en varchar utilise ceci pour la passer au format date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    STR_TO_DATE(ta_chaine_date,'%d/%m/%Y')
    ensuite utilise ceci mais normalement si elle est au format date il ne doit pas y avoir de probleme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DATE_FORMAT(ta_date,'%d/%m/%Y')

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut
    Merci pour ta réponse! En fait je n'ai pas utilisé les fonctions que tu m'as proposé car je me suis rendu compte (et là c'est le moment où j'ai honte) que je ne passais pas bien mon argument en entrée de la méthode pour la date donc forcement..........
    Enfin maintenant c'est bon et le code que j'avais posté precedemment fonctionne bien (si on lui donne ce qu'il faut bien sur...)

    Bonne journée!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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