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

Résolu
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -  
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -
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

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
Ca ne marche pas je viens de tester ca retourne la même valeur qu'avant donc 1523311200
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
et sur l’hébergeur?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
en fait moi j'utiliserais plutôt
date('Ymd')
pour avoir la date courante.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
si tu veux simplement avoir la date courante, pourquoi pas date('Ymd')?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
ben... tu changes l'heure de ton pc...
0
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
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