我必须使用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日期。
答案 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