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 :

Convertir "Vendredi 29 Mars 2013 16:00:01" en timestamp


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 293
    Points : 77
    Points
    77
    Par défaut Convertir "Vendredi 29 Mars 2013 16:00:01" en timestamp
    Bonjour,

    Aujourd'hui j'ai fait la mise à jour d'une table en rajoutant une colonne timestamp (du timestamp actuel) et j'aimerais convertir toutes les anciennes dates sous forme de "Vendredi 29 Mars 2013 16:00:01" en timestamp, donc il faut utiliser le update de mysql tout ça je sais comment faire, mais comment il faudrait faire pour obtenir le vrai timestamp à partir de ce string: "Vendredi 29 Mars 2013 16:00:01" ?
    Il faut également qu'il prend les accents en compte comme le "û" de Août et Février , Décembre.

    Avez vous une idée la plus simple possible ?

    Merci

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 437
    Points : 43 076
    Points
    43 076
    Par défaut
    Tu as la fonction strtotime mais celle-ci attend une chaine en anglais.

    Tu peux envisager de modifier la chaine pour remplacer les noms de mois par les noms anglais, tu peux virer le jour, pas besoin pour le calcul du timestamp.

    Il y a peut-être plus efficace au niveau SQL.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En retirant le jour, remplaçant le mois français par son numéro et en mettant au format anglais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $month_fr = array('Janvier', 'Février', 'Mars');
    $month_n = array('01', '02', '03');
     
    $date = 'Vendredi 29 Mars 2013 16:00:01';
     
    $short_date = str_replace($month_fr, $month_n, substr($date, strpos($date, ' ')));
     
    $english_date =  preg_replace('#(\d{2}) (\d{2}) (\d{4}) (.+)#', '\3-\2-\1 \4', $short_date );
     
    echo strtotime($english_date);
    Mais il vaut mieux utiliser un DATETIME dans la base de données, ça permet plus de choses.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 293
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    Merci d'avoir répondu mais finalement je viens de retrouvé mon ancienne question sur un autre sujet que voici :

    http://www.developpez.net/forums/d15...16-14-55-01-a/

    Code Citation : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    function ConvertirDateDecoleEnTimestamp($date) {
         $formatter = new IntlDateFormatter('fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::SHORT, 'Europe/Paris', IntlDateFormatter::GREGORIAN);
         $timestamp = datefmt_parse($formatter,$date);
         return $timestamp;
    }
     
    echo ConvertirDateDecoleEnTimestamp("Jeudi 11 Août 2016 14:55:01");

    Je me souvenais avoir ouvert ce sujet il y a quelques mois mais j'étais presque sûr que ça concernait javascript mais en fait non c'était bien avec php.

    Je ferme ce sujet comme c'est un doublon.

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

Discussions similaires

  1. Le « Dev du Jeudi » du 14 mars 2013 se penche sur Delphi
    Par Gordon Fowler dans le forum Delphi
    Réponses: 11
    Dernier message: 10/06/2013, 14h25
  2. Formation BPM BlueWorks le vendredi 26 mars
    Par Mejdi20 dans le forum BPM
    Réponses: 1
    Dernier message: 13/04/2010, 08h07
  3. Formation BPM BlueWorks le vendredi 26 mars
    Par Mejdi20 dans le forum Actualités
    Réponses: 1
    Dernier message: 13/04/2010, 08h07

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