【问题标题】:DateJS parsing mysteryDateJS解析之谜
【发布时间】:2011-01-26 22:04:46
【问题描述】:

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

  1. 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(右)

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

据我所知,d MMM yyyy 输入格式适用于除四月和八月之外的每个月;在这两种情况下,无论输入哪一天,它都会返回该月的第一天。这是一个错误,还是我缺少一个合乎逻辑的解释?

【问题讨论】:

  • 好吧,当我转到 DateJS 主页并输入“2010 年 4 月 15 日”时,它似乎确实有效...

标签: javascript jquery datetime datejs


【解决方案1】:

啊哈:看起来"Download" 链接中的版本比current source 旧了一点。这是commit that fixed this bug

Dan Yoder 使用 timeContext 模式修复了错误,如果包含日期 “四月”或“八月”,解析器认为“a”是时间部分的开始 (如上午/下午)。

最新版本的 EN-US 脚本在这里: http://code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js 如果网站链接到这个而不是链接到几年未更新的 zip 文件,那就太好了。

【讨论】:

  • 我正在寻找另一个我得到的错误的修复 (Date.parse('12:00 pm')) 并从 svn 获取最新版本修复它。谢谢!
猜你喜欢
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 2020-07-14
  • 2011-06-28
  • 1970-01-01
相关资源
最近更新 更多