在javascript中将字符串转换为Date
个对象时,我注意到了一种奇特的行为。这样做时:
var date1 = new Date("2014-09-28T00:00:00");
console.log(date1);
结果是:
Sun Sep 28 2014 02:00:00 GMT+0200 (Srednja Europa - ljet. vrij.)
与另一个日期相同的代码。
var date2 = new Date("2014-10-28T00:00:00");
console.log(date2);
给出了这个结果:
Tue Oct 28 2014 01:00:00 GMT+0100 (Srednja Europa - st. vrij.)
请注意,第一个变量中的GMT偏移量为2小时,第二个变量中的GMT偏移量仅为1小时。第一个考虑夏季时间计算,第二个不考虑。任何人都能解释一下吗?不得不提的是,我来自克罗地亚,目前的GMT抵消额加上两个小时,并且夏季开始。
答案 0 :(得分:6)
根据timeanddate.com,克罗地亚的夏令时(DST)将于2014年10月26日结束。因此,第一个日期(9月28日)包括它(GMT + 2),第二个日期(10月28日)不(GMT + 1)。