Почему не совпадают метки времени PHP и Javascript?

Если я сделаю

alert(new Date(1313690400000))

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

однако, PHP

echo date('Ymd H:i:s', 1313690400000);

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

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

Поэтому удалите три нули со стороны PHP:

 echo date('Ymd H:i:s', 1313690400); 

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

 echo date('Ym-d', 1313690400000 / 1000); 

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

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