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 :

Reformater date française en date numérique


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 26
    Points
    26
    Par défaut Reformater date française en date numérique
    Bonjour,
    je débute en php et j'aimerai passer d'une chaine de caractère contenant une date au format suivant :
    "vendredi, 22 juin, 2012 - 12:57"
    à ce format : "22/06/12"

    N'étant pas vraiment fan de parsing.
    Existe-t-il une fonction permettant cela ?

    Cordialement,
    Toiine

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    oui strptime et datefmt_parse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $date = 'vendredi, 22 juin, 2012 - 12:57';
     
    $fmt = new IntlDateFormatter('fr', null, null);
     
    $fmt->setPattern('EEEE, dd MMMM, y - HH:mm');
    $time = $fmt->parse($date);
     
    $fmt->setPattern('dd/MM/yy');
    echo $fmt->format($time);
     
    // 22/06/12

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Merci pour cette réponse rapide, j'ai donc essayé ceci de la même manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    			<td>
    <?php 
    $date = $donnees['s_date'];
    $fmt = new IntlDateFormatter('fr', null, null);
    $fmt->setPattern('EEEE, dd MMMM, y - HH:mm');
    $time = $fmt->parse($date);
    $fmt->setPattern('dd/MM/yy');
    echo $fmt->format($time);
     ?>
                            </td>
    Vu les résultats que j'obtiens (case blanche, ainsi que les suivantes de la même ligne du tableau et plus de ligne supplémentaire générée dans le tableau), j'ai peur que le serveur sur lequel je travaille ait un php inférieur à la version 5.3 qui semble être nécessaire pour l'utilisation de cette classe.
    Je continue de chercher dans ce sens.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Intl existe depuis la 5.2

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Pourtant je suis en 5.2.9.
    Enfin, ici il parle de >= 5.3 : http://php.net/manual/fr/class.intldateformatter.php

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par Toiine Voir le message
    Pourtant je suis en 5.2.9.
    Enfin, ici il parle de >= 5.3 : http://php.net/manual/fr/class.intldateformatter.php
    Si je te dis que ça marche pour la 5.2 c'est que ça marche pour la 5.2 ...

    http://www.php.net/manual/fr/intl.requirements.php

    De plus, la version PECL de cette extension peut être utilisée avec toutes les versions PHP supérieures à la version 5.2.0 (5.2.4+ recommandée).

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Au temps pour moi,
    c'est apparemment plutôt l'extension intl qui semble manquante.
    Merci encore !

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

Discussions similaires

  1. Convertir date française en date amercaine
    Par Florian_mbf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/04/2013, 12h00
  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. Dates Française et Anglo-Saxones via formulaire
    Par Momostovoi dans le forum Contribuez
    Réponses: 0
    Dernier message: 09/06/2008, 11h18
  4. [RegEx] [Dates] Vérification de champ numérique et date
    Par khamett dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2008, 14h38
  5. Réponses: 2
    Dernier message: 30/10/2006, 13h10

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