Почему метки времени PHP и Javascript не совпадают? - PullRequest
9 голосов
/ 19 августа 2011

Если я сделаю

alert(new Date(1313690400000))

возвращает: Thu Aug 18 2011 13:00:00 GMT-0500 (CDT)

однако PHP

echo date('Y-m-d H:i:s', 1313690400000);

возвращает: 1951-12-14 05:50:24

Ответы [ 3 ]

19 голосов
/ 19 августа 2011

JavaScript использует миллисекунды в качестве метки времени, тогда как PHP использует секунды. В результате вы получаете очень разные даты, так как они отклоняются в 1000 раз.

Итак, удалите три нуля на стороне PHP:

echo date('Y-m-d H:i:s', 1313690400);
6 голосов
/ 19 августа 2011

Javascript Date - это миллисекунды с начала эпохи, тогда как PHP-дата использует метку времени unix, которая указывается в секундах.

Таким образом, чтобы получить ту же дату в php, сначала разделите на 1000

6 голосов
/ 19 августа 2011

Функции даты / времени в PHP используют количество секунд с начала эпохи, а Javascript - количество миллисекунд. В вашем php func:

echo date('Y-m-d', 1313690400000 / 1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...