我最难将客户端时间转换为服务器时间。原因是我每小时执行一次 cron 作业。我设法在java脚本中获取时区偏移量,但我对如何应用时区偏移量一无所知。例如,我的时区偏移量是 7。好吧!?那又如何?我应该如何应用这个偏移量?
要获得我使用的偏移量
var offset = new Date().getTimezoneOffset();
服务器端由 php 处理。
我最难将客户端时间转换为服务器时间。原因是我每小时执行一次 cron 作业。我设法在java脚本中获取时区偏移量,但我对如何应用时区偏移量一无所知。例如,我的时区偏移量是 7。好吧!?那又如何?我应该如何应用这个偏移量?
要获得我使用的偏移量
var offset = new Date().getTimezoneOffset();
服务器端由 php 处理。
正如其他人在评论中所说,最好的方法是使用 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');