【问题标题】:Date.js parseExact with french cultureDate.js parseExact 与法国文化
【发布时间】:2012-03-09 11:00:47
【问题描述】:

我在 svn 主干 (rev 191) 中使用最新版本的 date-fr-FR.js。 解析似乎在日期和月份名称上失败。

Date.parse("9 3 2012")

没问题,但是:

Date.parse("vendredi 9 mars 2012")

返回 null

parseExact 也无济于事:

Date.parseExact("vendredi 9 mars 2012", "dddd d MMMM yyyy")

返回空值。

有人遇到过类似的问题吗?是否有更新版本的本地化文件?

如果没人能找到解决方案,也许你可以向我推荐另一个 javascript 日期库。

【问题讨论】:

    标签: javascript parsing date datejs


    【解决方案1】:

    French culture file fr-FR:js 似乎有一些错误。例如周五的正则表达式显示:

    /^ve(n(.(dredi)?)?)?/i
    

    这意味着不是“ve”或“ven”或“ven”。或“ven.dredi”被识别为星期五,但不是“vendredi”。更准确地说,上面的正则表达式匹配“vend”,而“redi”不匹配,从而使解析器失败。一周中的所有日子和大多数月份都存在相同的错误。

    要解决这个问题,您可以将上面的正则表达式替换为:

    /^ve(n(\.|(dredi)?)?)?/i
    

    添加备用“|”在任何字符“.”之后。我也转义了点,因为它不应该匹配“任何”字符,而只是点,尽管这不会使您的测试用例失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多