我很困惑,但在javascript:
> new Date('2012-1-15') - new Date('2012-01-15')
21600000
Run Code Online (Sandbox Code Playgroud)
这是为什么?(21600000/1000/3600 == 6小时)
字符串中一天的前导零似乎会破坏 Chrome 中的 Javascript Date 对象。浏览器之间也存在一些不一致,因为 Firefox 正确处理前导零,但在不包含零时失败。看这个例子:https : //jsfiddle.net/3m6ovh1f/3/
Date('2015-11-01'); // works in Firefox, not in Chrome
Date('2015-11-1'); // works in Chrome, not in Firefox
为什么?有没有解决/使用前导零的好方法?
请注意,字符串通过 AJAX 来自 MySQL,所有日期都将包含前导零,我可以通过格式化服务器端的日期来解决这个问题。什么格式效果最好?
编辑
只是为了说明我的问题是什么,看起来 Chrome 正在对YYYY-MM-DD格式应用时区,这将 11 月 1 日的日期恢复为 10 月 31 日的日期(因为我的 EDT 当地时间)。