iam_not_a_robot
@iam_not_a_robot

Unixtime даты что не так?

strtotime("1970-01-01"); // -10800
strtotime("1970-01-01 00:00"); // -10800
strtotime("1970-01-01 03:00"); // 0

Вообще я ожидал нули увидеть но страница мне показывает -10800 т.е. на 3 часа раньше начала отсчёта. Или тут какой-то баг с часовыми поясами?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 2
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Это не баг! Это фича! Дело именно в часовых поясах
Ответ написан
comm1x
@comm1x
Web-developer
У вас выставлен Московский часовой пояс. Когда в Москве Новый Год 1970 года 00:00, в нулевом часом поясе еще 10800 секунд до этого момента, т.е.. 31 декабря 1969 года, 21:00. А когда в Москве 3 часа ночи, то в нулевом начинают праздновать и там равно 00:00.

Соответственно php думает, что вы переводите из своего локального времени в абсолютное по нулевому часовому поясу и вычисляет эту разницу в часовых поясах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы