1
我有最难的时间试图将客户端时间转换为服务器时间。原因是我每小时执行一次cron作业。我设法在java脚本中获得时区偏移量,但我对如何应用时区偏移量一无所知。例如,我的时区偏移量是7。那又如何?我应该如何应用此抵消?JavaScript客户端端时间到PHP服务器
,以获得偏移我用
var offset = new Date().getTimezoneOffset();
服务器端是由PHP处理。
我有最难的时间试图将客户端时间转换为服务器时间。原因是我每小时执行一次cron作业。我设法在java脚本中获得时区偏移量,但我对如何应用时区偏移量一无所知。例如,我的时区偏移量是7。那又如何?我应该如何应用此抵消?JavaScript客户端端时间到PHP服务器
,以获得偏移我用
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');
http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with -this-javascript/6016329 – dm03514 2012-07-08 18:12:14
为什么不在协议双方使用[协调世界时](http://en.wikipedia.org/wiki/UTC)? – Andreas 2012-07-08 18:14:38
我建议使用UNIX时间戳。 – Jashwant 2012-07-08 18:21:48