Вероятно, это связано с тем, что сервер и клиент находятся в разных часовых поясах .
Всегда используйте UTC «0 часовых поясов», чтобы получить одинаковые временные представления по всему миру. В php вы можете получить даты в формате UTC, используя функции с префиксом gm
, например gmtime
. Кроме того, вы можете установить часовой пояс в вашем коде с помощью default_timezone_set
:
Например, мое местное время в Германии - CEST или UTC + 2, то есть за 2 часа до UTC:
<?php
echo 'Local time (Germany, CEST): ' . strftime('%F %H:%M:%S %z (%Z)') . "\n";
echo 'UTC (England, GMT): ' . gmstrftime('%F %H:%M:%S %z (%Z)') . "\n";
date_default_timezone_set('America/Los_Angeles');
echo 'LA time (US, PDT): ' . strftime('%F %H:%M:%S %z (%Z)') . "\n";
Это выводит:
Local time (Germany, CEST): 2011-07-08 14:24:56 +0200 (CEST)
UTC (England, GMT): 2011-07-08 12:24:56 +0000 (GMT)
LA time (US, PDT): 2011-07-08 05:24:56 -0700 (PDT)