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

JavaScripts将从服务接收的日期视为UTC格式,javascript,date,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 还有一个观察是,如果我从date中删除“T”。Javascript不会将其视为UTC日期 “Javascr

我必须使用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

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

“Javascript本机不支持时区。当您创建 来自站点名称中ISO字符串的Javascript日期 时区,日期对象将自动转换为 浏览器的本地时区(可能与站点的时区不同 也会在中创建未指定时区的字符串 浏览器的本地时区。“-Jason Yuen,2013年8月25日,用Javascript处理时区

如果您希望在时区之间轻松转换,请查看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  

你为什么在那里有T呢?它来自于那种格式的服务。。所有日期都有T客户端不知道它是什么时区-您应该将所有日期时间视为UTC,以使事情更简单。检查此项:我的困惑是为什么它将日期视为UTC is T。字符串中存在T。还有一个观察结果-仅对于chrome,它将转换为其他浏览器的本地时区日期视为本地时区日期。。