我得到了这个奇怪的JavaScript错误,我似乎可以工作或修复。
我正在使用一些代码制作2个JavaScript日期,以将事件插入日历组件中。 日期按以下方式构建:
var endDate = new Date();
var startDate = new Date();
startDate.setDate(startDateDay);
startDate.setMonth(startDateMonth);
startDate.setFullYear(startDateYear);
startDate.setHours(2, 0, 0, 0);
endDate.setDate(endDateDay);
endDate.setMonth(endDateMonth);
endDate.setFullYear(endDateYear);
endDate.setHours(2, 0, 0, 0);
因此,日期是使用整数构建的。这些整数由输入决定,使用调试器我可以看到100%肯定他们正确进入。 现在,生病描述3次演练,2次正确进行,1次出错。
使用以下输入:
endDateDay = 20
endDateMonth = 9
endDateYear = 2014
提供以下日期对象:
Tue Oct 20 2014 02:00:00 GMT+0200 (W. Europe Daylight Time)
使用此输入:
endDateDay = 13
endDateMonth = 9
endDateYear = 2014
提供以下日期对象:
Tue Oct 13 2014 02:00:00 GMT+0200 (W. Europe Daylight Time)
现在,使用此输入:
endDateDay = 27
endDateMonth = 9
endDateYear = 2014
提供以下日期对象:
Mon Oct 27 2014 02:00:00 **GMT+0100** (W. Europe Standard Time)
正如您所看到的,由于某些奇怪的原因,TimeZone已关闭。这会给我的应用程序带来错误,我需要找到一种方法来解决它。虽然,我找不到任何解决方案,更不用说理解它为什么会发生。
PS:我正在使用谷歌浏览器
答案 0 :(得分:2)
答案确实是夏令时的差异,我完全监督了这一点。感谢发现这一点,我也找到了解决问题的方法。
我使用此链接进一步帮助我,可能会帮助将来的某个人: http://javascript.about.com/library/bldst.htm
干杯!