js Date.UTC() 与 php strtotime()生成的时间截不一样

Difference in UTC date between PHP and Javascript

工作中,因使用highcharts显示数据,需要将PHP 将日期转换为UTC 时区的时间截,然后通过json返回。而在网页中,显示时需要将UTC 时间截装换为本地时间。

google:javascript date utc to local 一番之后,找到

  1. UTC date and time to local
  2. Date.prototype.getTimezoneOffset()

知道找到了UTC的时间截 date.toString()

1 //2016-02-29 15:18:20
2 var utcDate = new Date(1456759100000);
3 console.log(utcDate.toString());

结果是:

Mon Feb 29 2016 23:18:20 GMT+0800 

慢了8个钟

故修改成:

1 //2016-02-29 15:18:20
2 var utcDate = new Date(1456759100000);
3 console.log(utcDate.toString());
4 var today = new Date();  
5 var currentTimeZoneOffsetInHours = today.getTimezoneOffset() / 60;
6   //console.log(currentTimeZoneOffsetInHours);
7 var datetimes = (utcDate.getHours() + currentTimeZoneOffsetInHours) +":"+utcDate.getMinutes()+":"+utcDate.getSeconds();
8 console.log(datetimes);

运行结果:

因显示主要是小时慢了8个小时,所以只计算了小时部分。

原文地址:https://www.cnblogs.com/fsong/p/5295546.html