JavaScripts将从服务接收的日期视为UTC格式

时间:2015-10-08 13:39:20

标签: javascript date

我必须使用javascript在UI中显示从服务收到的日期。

 var now = new Date ('2015-09-26T09:52:19');
 alert(now) // it alerts Sat Sep 26 2015 02:52:19 GMT-0700 (Pacific Daylight Time)

我在PST时区,我想知道为什么Javascript将收到的日期视为UTC。

如果我从日期删除“T”,还有一个观察结果。 Javascript不会将其视为UTC日期。

1 个答案:

答案 0 :(得分:1)

  

“Javascript没有时区的原生支持。当你创建时   Javascript中的日期来自网站中的ISO字符串   时区,Date对象将自动转换为   浏览器的本地时区(可能与网站的时区不同)   时区)。没有指定时区的字符串也会在。中创建   浏览器的本地时区。“ - Jason Yuen,2013年8月25日,在Javascript中处理时区Nulogy.com

如果您希望在时区之间轻松转换,请查看momentjs(www.momentjs.com)。

这是直接从他们的网站上获取的。

var newYork    = moment.tz("2014-06-01 12:00", "America/New_York");  
var losAngeles = newYork.clone().tz("America/Los_Angeles");  
var london     = newYork.clone().tz("Europe/London");  

newYork.format();    // 2014-06-01T12:00:00-04:00  
losAngeles.format(); // 2014-06-01T09:00:00-07:00  
london.format();     // 2014-06-01T17:00:00+01:00