смещение даты php - PullRequest
       9

смещение даты php

2 голосов
/ 28 апреля 2011

Я использую функцию php date(), чтобы распечатать время, полученное из mysql.Фактическое время, которое выводится на печать, всегда составляет один час .

Я звоню

date('H:i, d M Y', 100000)

Я ожидаю "03:46, 02 Jan 1970", но вместо этого получил "04:46, 02 Jan 1970".

Почему?

Ответы [ 2 ]

6 голосов
/ 28 апреля 2011

Установите часовой пояс раньше, используя date_default_timezone_set(), потому что функция date() зависит от настройки часового пояса (от php.ini или установленной кодом)

Возвращает дату / время в соответствии с вашим текущим часовым поясом.

Проверьте фактический часовой пояс, используя

echo date_default_timezone_get();

Установить (изменить), используя

date_default_timezone_set('UTC'); # UTC is just an example

Полный список поддерживаемых часовых поясов в PHP см. По этой ссылке .

Пример:

date_default_timezone_set('UTC');
echo date('H:i, d M Y', 100000);

Выход:

03: 46, 02 января 1970

Ваше текущее смещение часового пояса +0100, и поэтому у вас есть 04:46, 02 Jan 1970. Также не забывайте, что в 70-е годы многие страны не использовали правила DST.

Ссылки

3 голосов
/ 28 апреля 2011

Похоже, у вас проблема с часовым поясом.

Вы можете установить часовой пояс для своего PHP-приложения, используя date_default_timezone_set('UTC');, заменяя UTC на все, что вам нужно.Это должно решить вашу проблему.

Для получения дополнительной информации см .: http://php.net/manual/en/function.date.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...