1

我最难将客户端时间转换为服务器时间。原因是我每小时执行一次 cron 作业。我设法在java脚本中获取时区偏移量,但我对如何应用时区偏移量一无所知。例如,我的时区偏移量是 7。好吧!?那又如何?我应该如何应用这个偏移量?

要获得我使用的偏移量

var offset = new Date().getTimezoneOffset();

服务器端由 php 处理。

4

1 回答 1

1

正如其他人在评论中所说,最好的方法是使用 UNIX 时间戳。要在 JavaScript 中获取此信息,请使用以下代码:

var date = Math.round(new Date().getTime() / 1000);

getTime返回以毫秒为单位的值,但我们想要以秒为单位的值,因此我们将其除以 1000。

然后,您可以使用 AJAX 将该值发送到服务器,或者将该值放在隐藏的表单字段中,并在用户提交表单时将其发送到服务器。

在 PHP 中,您可以像这样获取日期:

$date = new DateTime();
// 1341773609 is the UNIX timestamp, which I got from running the above
// JavaScript and alerting the date
$date->setTimestamp(1341773609);
echo $date->format('Y-m-d H:i:s');
于 2012-07-08T18:56:30.873 回答