Javascript date.js对中午和午夜的混淆
我在我的项目中使用了,我遇到了一些我没有预料到的事情,关于时间成分正好是中午或午夜的日期 当我使用本机javascriptJavascript date.js对中午和午夜的混淆,javascript,date,datejs,Javascript,Date,Datejs,我在我的项目中使用了,我遇到了一些我没有预料到的事情,关于时间成分正好是中午或午夜的日期 当我使用本机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.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(中央夏令时)
在我看来,这就像是第二天的午夜。我不知道为什么它会将此解释为午夜,或者无论如何,为什么它会将此解释为与javascript中默认的
Date.parse
不同。我是否对下午12点的含义感到困惑?我是否误用了date.js的parseExact?看起来像是版本问题:
第一个是你的文件(来自谷歌代码库),第二个是他们的网站(datejs.com)。有趣的是,它们看起来像同一个版本,但显然不是。我对库不太熟悉,不知道发生了什么,但我建议提交一份bug报告。这是一个相当老的问题,但对于那些在搜索中偶然发现这个问题的人来说,如果遇到意外行为,强烈建议您切换到当前维护的Date.js()版本
Google code base和datejs.com上的版本都有未修复的bug,这些bug不太可能得到解决,因为原始开发人员似乎已经放弃了该项目。您使用的是什么版本?它对我有效,两种方式都会产生相同的结果…@davin我正在使用当前链接。这可能与我当前的语言环境设置有关吗?在另一个问题中发现了相同的错误。最新版本解决了这一问题,但datejs.com网站上未发布最新的verison: