PHP和JS的时间戳之间存在差异

时间:2012-12-28 22:34:29

标签: php javascript unix date timestamp

这太疯狂了。我应该如何处理它?<​​/ p>

在Chrome控制台中:

new Date(2013,0,1).getTime() // 1st of Jan 2013
> 1356991200000
------------
new Date(2013,0,1).getTime()== 1356991200000
> true

现在在PHP中使用该值:

<?php 
    die(date('l, j F Y'), 1356991200000 / 1000); // cut some ms
?>

我得到Monday, 31 December 2012

这与GMT有关吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

Javascript适用于客户端上的时区,而PHP适用于服务器时区。

JS https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

var x = new Date()
var currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60

PHP http://php.net/manual/en/function.date-default-timezone-get.php

<?php
echo date_default_timezone_get();

答案 1 :(得分:3)

使用任何一个(我建议服务器端)。你无法传递两者将同步。一个取决于您的服务器,另一个取决于用户的计算机。

如果您需要显示某些内容,请使用相对时间,并在页面刷新后更新客户端时间...