DateJS解析谜团

我正在使用DateJS来解析用户输入的日期,并得到一些奇怪的结果。

  1. Date.parse("15 Jan 2010")返回Date.parse("15 Jan 2010") Fri Jan 15 00:00:00 EST 2010 (右)

  2. Date.parse("15-Apr-2010") Thu Apr 15 00:00:00 EDT 2010 Date.parse("15-Apr-2010")返回Date.parse("15-Apr-2010") Thu Apr 15 00:00:00 EDT 2010 (右)

  3. Date.parse("15 Apr 2010")返回Date.parse("15 Apr 2010") Thu Apr 1 00:00:00 EDT 2010 (错误)

据我所知,除了4月和8月, d MMM yyyy输入格式每个月都能正常工作; 在这两种情况下,无论输入的是哪一天,它都会返回当月的第一天。 这是一个错误,还是我缺少一个合乎逻辑的解释?

啊哈:看起来“下载”链接中的版本比当前源的版本要好一些。 这是修复此错误的提交 :

Dan Yoder修复了timeContext模式的bug,如果日期包含“april”或“august”,则解析器认为’a’是时间部分的开头(如上午/下午)。

最新版本的EN-US脚本位于: http : //code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js如果链接的网站会很好对此而不是一个尚未更新几年的zip文件。