设置/获取并设置 UTC/getDATE

set / get VS setUTC / getUTC

我正在处理日期,我想知道是否存在边界情况:

var d2 = new Date(d);
d.setHours(d.getHours() + n) !== d2.setUTCHours(d2.getUTCHours() + n)

..?

美国今年 (2016) 夏令时从 3 月 13 日星期日 2:00AM 开始:

var dstDate = new Date(2016, 2, 13);
var dstUTC = new Date(dstDate);

如果我们根据您的问题增加 3 小时:

dstDate.setHours(dstDate.getHours() + 3);
console.log(dstDate); // 3:00AM

dstUTC.setUTCHours(dstUTC.getUTCHours() + 3);
console.log(dstUTC); // 4:00 AM

(我的本地时区是 UTC-6。)