Я использую WordPress, где часовой пояс по умолчанию — UTC, хотя я не понимаю, почему это будет иметь значение, потому что это тот же человек, который хочет что-то обновить на сайте, и сравниваемое время для этого человека, в данном случае меня ,
Итак, я хочу обновить свой пароль, и когда это происходит, новое значение даты и времени вставляется в соответствующую таблицу, и когда я нажимаю на ссылку в полученной ссылке электронной почты, страница, на которую я захожу, открывает новое время следующим образом:
$time_now = date('Y-m-d H:i:s');
$time_now = strtotime($time_now);
А перед этим я извлекаю соответствующее значение из таблицы и преобразовываю его во время следующим образом:
$time_then = strtotime($time_then);
Так что, хотя это Я делаю все это с одного компьютера, я получаю результат, где $time_then
БОЛЬШЕ, чем $time_now
,
Кажется, что время выключено как 2 часа, поэтому я могу добавить 2 часа к $time_now
Но будет ли это работать так, как это должно быть для всех людей, независимо от их страны?
И почему $time_then
больше чем $time_now
тем не мение?
ОБНОВИТЬ:
Просто чтобы прояснить, время, которое я вставляю в БД, ПРАВИЛЬНО, а время, которое я получаю с помощью php на странице, неверно (в моем случае это на 1 час меньше).
ОБНОВЛЕНИЕ 2: код
foreach ($q as $key => $value) {
$time_then = $value->req_date;
$e = $value->email;
}
echo 'Time then normal: '.$time_then.'<br>';
$time_then = strtotime($time_then);
// check how much time has elapsed
$time_now = date('Y-m-d H:i:s');
echo 'Time now normal: '.$time_now.'<br>';
$time_now = strtotime($time_now);
echo 'Time then: '.$time_then.'<br>';
// echo 'Time now: '.$time_now.'<br>';
$time_now = time();
echo 'Time now: '.$time_now.'<br>';if ($time_now > $time_then) {
echo 'Good <br>';
} else {
echo 'Abnormal <br>';
}
Поэтому после перехода по ссылке, указанной в электронном письме (после вставки req_date в БД), я получаю, например, следующее, показанное на странице:
Time then normal: 2014-11-07 11:11:23
Time now normal: 2014-11-07 10:11:38
Time then: 1415358683
Time now: 1415355098
Abnormal
Задача ещё не решена.
Других решений пока нет …