我在我的项目中使用date.js,我遇到了一些我没想到的关于日期的时间部分正好是中午或午夜的事情。
当我使用本机 javascriptDate.parse
方法时,我在解析日期时得到了预期的结果:
// plain old javascript
var date = new Date(Date.parse("10/21/2010 12:00:00 PM"));
alert(date);
我明白了:
2010 年 10 月 21 日星期四 12:00:00 GMT-0500(中部夏令时间)
我将此解释为 2010 年 10 月 21 日中午,我认为这是我输入的日期。但是,当我导入 date.js 并尝试类似的东西时,
// using date.js
var date = Date.parseExact("10/21/2010 12:00:00 PM", "M/d/yyyy hh:mm:ss tt");
alert(date);
我明白了:
2010 年 10 月 22 日星期五 00:00:00 GMT-0500(中部夏令时间)
在我看来,这就像第二天的午夜。我不知道为什么它将它解释为午夜,或者无论如何它解释它的方式与Date.parse
javascript 中的默认值不同。我对 12:00 PM 的含义感到困惑吗?我在滥用 date.js 的 parseExact 吗?