Strtotime(date('Y-m-d')) différent

Résolu
Bonjour,

Si je fais un strtotime(date('Y-m-d')) pour avoir la date courrante sur mon hébergeur web ou sur mon serveur personnel j ai un retour différent (de 7200 donc 2h) Quelqu'un peut il m'expliquer cela?

local : 1523311200
wampserveur: 1523311200
hebergeur : 1523318400

En creusant un peu je me suis demandé qui a tort dans les deux ben c'est wamp et le local (il suffit de calculer le nombre de jour écouler et de multiplier par la valeur en seconde d'une journée (17631*86400)

Maintenalt la question c'est pourquoi se décalage et comment le résorbé....

3 réponses

  1. Contributeur
    bonjour, il s'agit sans doute du décalage entre l'heure gmt et l'heure locale.
    essaie peut-être ainsi:
    strtotime(gmdate('Y-m-d'))
    1. Ca ne marche pas je viens de tester ca retourne la même valeur qu'avant donc 1523311200
  2. Contributeur
    en fait moi j'utiliserais plutôt
    date('Ymd')
    pour avoir la date courante.
    1. Modérateur
      Bonjour,

      Peux tu essayer de définir le timezone et voir ce que ça te donne ?
      https://www.php.net/manual/fr/function.date-default-timezone-set.php
      https://www.php.net/manual/fr/timezones.europe.php

      Et donc, au début de ton script PHP tu places la ligne de code :
      date_default_timezone_set('Europe/Paris');
      


      Sinon, tu peux aussi le faire au moment de récupérer la date avec un objet date et DateTimeZone
      $today = date('Y-m-d');
      $date = new DateTime($today, new DateTimeZone('Europe/Paris'));
      $tz_today =  $date->format('Y-m-d H:i:sP') ;
      echo strtotime($tz_today);
      

      1. La question que je me posais c'est comment modifier mon serveur local pour obtenir le même nombre que sur l'hébergeur
      2. Modérateur
        ben... tu changes l'heure de ton pc...
      3. Contributeur
        @Marlocqsi tu veux simplement avoir la date courante, pourquoi pas date('Ymd')?
      4. Yop all, non j'ai fini par trouver comment faire.
        Changer le php.ini et passer le time.zone en GMT.

        Merci pour vôtre aide en tout cas :-)