Partage
  • Partager sur Facebook
  • Partager sur Twitter

Décalage horaire entre date timestamp et JS

    22 septembre 2017 à 14:44:08

    Bonjour,

    après plusieurs recherches je ne trouve pas la solution à mon problème de décalage horaire. J'ai une base de donnée SQL avec des dates en timestamp (ex : 2017-09-22 14:30:00).

    J'ai un script PHP pour faire un graph, qui utilise la fonction strtotime : $date_js = strtotime($dat_temperature["1wire_data_timestamp"]);

    Résultat, j'obtient la date : 1506079800, qui correspond à la même date mais à 12h30 (2 heures plus tôt).

    Je précise que :

    - la modification de php.ini (date.timezone = 'Europe/paris') ne change rien : je peux mettre le pacifique, cela n'a aucun impact

    - dans le script php, lorsque j'ajoute : date_default_timezone_set('Europe/Paris'); cela ne change rien, si je mets "London", l'heure passe à passe à 13h30 (1h de décalage en été, mais pas de décalage l'hiver dernier)

    Quelqu'un aurait une idée ?

    Merci d'avance pour votre aide au pauvre débutant que je suis.

    • Partager sur Facebook
    • Partager sur Twitter
      22 septembre 2017 à 14:53:47

      Merci Christouphe, effectivement cela correspond au décalage entre UTC et CET. Mais quelle fonction / ligne de code dois ajouter ou modifier ?
      • Partager sur Facebook
      • Partager sur Twitter
        22 septembre 2017 à 14:58:21

        > J'ai une base de donnée SQL avec des dates en timestamp (ex : 2017-09-22 14:30:00).

        Comment ? Parce que si tu utilises NOW et que MySQL n'est pas non plus dans le bon fuseau, c'est déjà décalé au départ.

        • Partager sur Facebook
        • Partager sur Twitter
          22 septembre 2017 à 15:33:33

          @Julp merci, effectivement le champs timestamp de la database sql est CURRENT_TIMESTAMP par défaut (le script de remplissage de la database ne le mentionne pas) qui est en GMT.

          Du coup au moment d'alimenter sql, quelle commande puis je utiliser ?

          • Partager sur Facebook
          • Partager sur Twitter
            22 septembre 2017 à 15:42:02

            SET time_zone = ...

            Mais à moins d'être en dédié pour pouvoir importer les fuseaux, ou d'avoir la chance que ce soit fait par ton hébergeur, oublies, tu ne pourras pas utiliser des fuseaux nommés, uniquement des offsets (+/-hh:mm), ce qui serait gênant avec nos heures d'été/hiver. Le mieux serait de gérer directement l'heure à l'INSERT via PHP qui lui a ce qu'il faut et ainsi tout repose sur une unique configuration (PHP, date.timezone) au lieu de deux (PHP + MySQL).

            -
            Edité par julp 22 septembre 2017 à 15:52:25

            • Partager sur Facebook
            • Partager sur Twitter

            Décalage horaire entre date timestamp et JS

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown