我注意到我正在处理的一些数据(2000 多行数据)存在问题。
问题很奇怪:代码工作正常!直到JavaScript 无法生成正确日期时到达特定日期(在本例中为 2011 年 1 月 8 日)?
所以,解释一下:我正在使用 'dd/mm/yyyy' 格式的字符串并执行(这不起作用):
var date = '01/08/2011'.split('/');
var milliseconds = new Date(date[2], parseInt(date[1]) - 1, date[0]).getTime();
=> 1291161600000new Date(1291161600000);
=> 2010 年 12 月 1 日星期三 00:00:00 GMT+0000 (GMT)
...但是该确切的代码在 2011 年 8 月 1 日之前的任何日期都可以正常工作吗?
所以再试一次29/07/2011
...
var date = '29/07/2011'.split('/');
var milliseconds = new Date(date[2], parseInt(date[1]) - 1, date[0]).getTime();
=> 1311894000000new Date(1311894000000);
=> 2011 年 7 月 29 日星期五 00:00:00 GMT+0100 (BST)
唯一的区别是返回的 (GMT) 和 (BST) 值,这表明存在语言环境问题。但是为什么会发生这种情况,我该如何修复代码来解决这个问题?
非常感谢您能给我的任何帮助。