我正在尝试使用新的国际化API。我使用铬版本 31.0.1623.0 金丝雀
我想要的是
- 在 UTC 和特定时区之间转换日期时间(示例中
America/New_York
) - 要检查转换是否为夏令时,请注意更改。
那么,以当前的支持级别是否可以在这两个时区之间进行转换,当
a. 夏令时处于活动状态
//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
javascript Date 说月份是 0-11。
夏令时于 2013 年 11 月 3 日凌晨 2 点结束。因此,这两个时间都在美国东部时区的夏令时范围内。