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] Inversion de date


Sujet :

Langage PHP

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut [Dates] Inversion de date
    Bonjour,

    Je récupère via un calendrier une date dans le format jj-mm-aaaa

    Pout mettre à jour ma base mysql, je dois l'inverser.

    Existe-t-il un script d'inversion de date ?

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Réponse dans la FAQ. Puis, remplacez simplement explode('/',$mydate) par explode('-',$mydate).


    Julp.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    tu peux le faire toi meme c'es tpas tres dure le debut de la reponse est dans le post précedent en plus.

  4. #4
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Merci Julp pour la faq.

    Ma date 04 aout 2006

    devient 1999-12-04

    Est-ce parceque le mois est en clair ?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ah oui dans ce cas c'est très différent ! Je vous propose ceci si vous ne disposez pas de la fonction strptime :
    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
    19
    20
     
    function datefr2en($date) {
    	$mois = array(
    		1 => 'janvier',
    		2 => 'fevrier',
    		3 => 'mars',
    		4 => 'avril',
    		5 => 'mai',
    		6 => 'juin',
    		7 => 'juillet',
    		8 => 'aout',
    		9 => 'septembre',
    		10 => 'octobre',
    		11 => 'novembre',
    		12 => 'decembre'
    	);
    	list($j, $m, $a) = explode(' ', $date);
    	$k = array_search($m, $mois);
    	return ($k === FALSE ? FALSE : sprintf("%04d-%02d-%02d", $a, $k, $j));
    }
    Mais par contre, la fonction sera sensible à la manière dont le mois est écrit (accents ou non, majuscules ou non). Le sprintf n'est peut être pas nécessaire.


    Julp.

  6. #6
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Merci Julp, c'est tout à fait cela.

    Pour les mois pas de problème, puisque les dates ne sont pas saisissable, elles proviennent d'un calendrier.

    Merci encore

  7. #7
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    J'ai ajouté au cas ou un contrôle si la date est à 0

    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
    19
    20
    21
    22
    function datefr2en($date) {
    	$mois = array(
    		1 => 'Janvier',
    		2 => 'Février',
    		3 => 'Mars',
    		4 => 'Avril',
    		5 => 'Mai',
    		6 => 'Juin',
    		7 => 'Juillet',
    		8 => 'Août',
    		9 => 'Septembre',
    		10 => 'Octobre',
    		11 => 'Novembre',
    		12 => 'Décembre'
     
    	);
    	if ($date>0)
    	{
    	list($j, $m, $a) = explode(' ', $date);
    	$k = array_search($m, $mois);
    	return ($k === FALSE ? FALSE : sprintf("%04d-%02d-%02d", $a, $k, $j));
    	}
    Merci

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

Discussions similaires

  1. [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
  2. Réponses: 4
    Dernier message: 06/11/2007, 14h49
  3. problème date inverser
    Par michelle1000 dans le forum ASP
    Réponses: 5
    Dernier message: 07/11/2006, 12h41
  4. toujours la date inversée
    Par Stéph utilisateur d'acces dans le forum Access
    Réponses: 10
    Dernier message: 10/09/2005, 09h29
  5. [JSP] inverser une date
    Par logica dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 12/05/2005, 15h20

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