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 :

Conversion de l'heure


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Conversion de l'heure
    Bonjour,

    Je reçois une heure comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2018-05-21T16:36:31.959545235Z2
    et je dois la comparer avec une heure sous ce fomat

    L'heure est poirtant identique, mais la comparaison me retourne false.

    Y-a-t-il une fonction qui peut m'afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2018-05-21T16:36:31.959545235Z2
    en
    ?
    Merci

  2. #2
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    peux-tu nous montrer le code que tu as utilisé pour la comparaison des dates ?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    En fait, c'est dans une requete MySQL mais je voulais faire la conversion avant la requête.

    Une fois converti, je remplace la valeur dans $m_time, puis je lance ma requête.

    Mais pour répondre à ta question, je le compare ainsi (avec c.ttn_m_time)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     $sql_selectc = 'SELECT c.collection_date FROM collections AS c
            WHERE c.collection_created = "'.$gmdate.'"
            AND c.ttn_m_time = "'.$m_time.'"
            ORDER BY c.collection_created ASC';

    Est-ce qu'un modérateur pourrais éventuellement déplacer mon message dans PHP/MySQL?

    Merci

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonjour. Essaie ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql_selectc = 'SELECT c.collection_date, date_format(c.ttn_m_time, "%d/%m/%Y %H:%i:%s") as datetime_fr
    FROM collections AS c
    WHERE c.collection_created = "'.$gmdate.'"
    AND date_format(c.ttn_m_time, "%Y-%m-%d %H:%i:%s") = "'.$m_time.'"
    ORDER BY c.collection_created ASC';
    https://www.w3schools.com/sql/func_m...ate_format.asp
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Bonjour Dentride,

    Malherueusement, ca ne marche pas
    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
     
     $sql_selectc = 'SELECT c.collection_date FROM collections AS c
            WHERE c.collection_created = "'.$gmdate.'"
            AND c.ttn_m_time = date_format("'.$m_time.'", "%Y-%m-%d %H:%i:%s")
            ORDER BY c.collection_created ASC';
     
            $sql_resultc = $connect->query($sql_selectc);
     
            if($sql_resultc->num_rows)
            {
                 echo "Collection exists<br>";
                // Collecon exists, get id
                while($row = $sql_result->fetch_assoc()){
                    $collection_id = $row['id_collection'];
                    $payload['payload_fields']['collection_id']=$collection_id;
                }
            }
    C'est la variable $m_time qui a le format a corriger:
    2018-05-21T16:36:31.959545235Z

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    format étrange vu qu'à priori il ne correspond à aucun format prédéfini.
    Le Z contenu dans 2018-05-21T16:36:31.959545235Z2 suivi du numérique 2 doit être interprété comme temps ZULU (=UTC) plus +0200 (le temps ZULU est utilisé principalement par l'armée et l'aviation)
    Ce qui après légère modification te rapprocherait du standard ISO8601
    Tu dois transformer pour arriver à ce résultat : '2018-05-21T16:36:31+0200'
    Ensuite ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $timestamp = DateTime::createFromFormat(DateTime::ISO8601, '2018-05-21T16:36:31+0200');

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

Discussions similaires

  1. Import csv, convertion date GMT à heure locale
    Par vinch999 dans le forum DB2
    Réponses: 0
    Dernier message: 02/05/2011, 11h27
  2. convertion nombre en heures et minutes dans form continu
    Par @rkane dans le forum VBA Access
    Réponses: 4
    Dernier message: 05/12/2010, 19h50
  3. convertion d'un temps ( base 100 000 ) en heure minute
    Par laurent7474 dans le forum Oracle
    Réponses: 7
    Dernier message: 27/04/2007, 09h42
  4. convertion d'un chiffre en heure
    Par Rodchess dans le forum Access
    Réponses: 6
    Dernier message: 29/06/2006, 16h46
  5. [date et heure] convertion d'une date en chaîne
    Par jean-jacques varvenne dans le forum SQL
    Réponses: 5
    Dernier message: 23/03/2005, 11h31

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