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

Résolu/Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - Modifié le 10 avril 2018 à 15:13
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 19 avril 2018 à 10:57
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 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
10 avril 2018 à 16:04
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 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
Modifié le 10 avril 2018 à 16:27
Ca ne marche pas je viens de tester ca retourne la même valeur qu'avant donc 1523311200
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
10 avril 2018 à 17:09
et sur l’hébergeur?
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
10 avril 2018 à 17:17
en fait moi j'utiliserais plutôt
date('Ymd')
pour avoir la date courante.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
10 avril 2018 à 19:50
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 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
18 avril 2018 à 14:20
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 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
18 avril 2018 à 17:42
si tu veux simplement avoir la date courante, pourquoi pas date('Ymd')?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
18 avril 2018 à 15:35
ben... tu changes l'heure de ton pc...
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
19 avril 2018 à 10:57
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