Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript date.js对中午和午夜的混淆_Javascript_Date_Datejs - Fatal编程技术网

Javascript date.js对中午和午夜的混淆

Javascript 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日

我在我的项目中使用了,我遇到了一些我没有预料到的事情,关于时间成分正好是中午或午夜的日期

当我使用本机javascript
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: