Я добавляю текущую дату и время в свою базу данных, используя следующий код:
$current_date_time = time(); echo date('n/j/yg:ia',$current_date_time);
Он появляется как 11/29/09 12:38, когда это должно быть 11/29/09 11:38
Время впереди на один час. Я нахожусь в тихоокеанском часовом поясе, а мой хостинг-провайдер находится в Юте, в Горном часовом поясе. Может ли это быть причиной того, что он впереди на один час?
Как решить эту проблему? Нужно ли мне удалять час с момента? Если да, то как мне это сделать? Или есть какой-то другой способ учета различий в часовом поясе, поэтому он появляется в часовом поясе Тихоокеанского региона?
Вы решаете его, задав часовой пояс в своих PHP-скриптах. Вы можете сделать это с помощью date_default_timezone_set()
:
date_default_timezone_set('America/Los_Angeles');
Вот список поддерживаемых PHP часовых поясов .
Вы также можете попробовать тестовый скрипт, вызывающий date_default_timezone_get()
чтобы увидеть, на что он фактически установлен, чтобы проверить, что это на самом деле проблема.