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'))
    0
    1. Ca ne marche pas je viens de tester ca retourne la même valeur qu'avant donc 1523311200
      0
    2. Contributeur
      @Marlocqet sur l’hébergeur?
      0
  2. Contributeur
    en fait moi j'utiliserais plutôt
    date('Ymd')
    pour avoir la date courante.
    0
    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);
      

      0
      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
        0
      2. Modérateur
        ben... tu changes l'heure de ton pc...
        0
      3. Contributeur
        @Marlocqsi tu veux simplement avoir la date courante, pourquoi pas date('Ymd')?
        0
      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 :-)
        0