0

我正在尝试使用新的国际化 API。我使用 chrome 版本 31.0.1623.0 canary

我想要的是

  1. 在 UTC 和特定时区之间转换日期时间(America/New_York在示例中)
  2. 检查转换是否支持夏令时更改。

那么,当前的支持水平是否有可能在这两个时区之间进行转换,当

一种。夏令时有效

//EDT: 11/2/2013 01:04:05
//UTC: 11/2/2013 05:04:05

湾。不活跃

//EST: 11/3/2013 01:04:05
//UTC: 11/3/2013 06:04:05

还有为什么是 12 月,当我在下面的示例中指定第 11 个月时。

http://jsfiddle.net/kr8FW/2/

console.clear();

var dtf = new Intl.DateTimeFormat('en-US', {timeZone: 'America/New_York'});

//EDT: 11/2/2013 01:04:05
//UTC: 11/2/2013 05:04:05

var utc1 = new Date(Date.UTC(2013, 11, 2, 5, 4, 5))
console.log(dtf.format(utc1));
console.log(utc1.toLocaleString("en-US", {timeZone: "America/New_York"}));

//EST: 11/3/2013 01:04:05
//UTC: 11/3/2013 06:04:05

var utc2 = new Date(Date.UTC(2013, 11, 3, 5, 4, 5))
console.log(utc2.toLocaleString("en-US", {timeZone: "America/New_York"}));

输出是

Console was cleared (index):21
12/2/2013 (index):29
12/2/2013 12:04:05 AM (index):30
12/3/2013 12:04:05 AM 
4

1 回答 1

1

javascript Date 表示月份是 0-11。

夏令时于 2013 年 11 月 3 日凌晨 2 点结束。因此,这两个时间都在美国东部时区的夏令时范围内。

于 2013-09-13T17:56:42.970 回答