2012-03-09 49 views
1

我使用的SVN主幹日期-FR-FR.js(修訂版191)的最後構建Date.js parseExact。 解析似乎在日期和月份名稱上失敗。與法國文化

Date.parse("9 3 2012") 

是好的,但:

Date.parse("vendredi 9 mars 2012") 

回報

parseExact並沒有幫助:

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

返回null。

任何人都面臨類似的問題?是否有更新版本的本地化文件?

也許你可以給我推薦另一個JavaScript庫的日期如果沒有人能夠找到一個解決方案。

回答

2

French culture file fr-FR:js似乎有一些錯誤。例如,星期五的正則表達式顯示爲:

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

這意味着比「ve」或「ven」或「ven」要好。或「ven.dredi」被認定爲星期五而不是「vendredi」。更準確地說,上面的正則表達式匹配「vend」並且使「redi」不匹配,從而使解析器失敗。一週中的所有日子和大多數月份都存在同樣的錯誤。

爲了解決這個問題,你可以替換上述正則表達式:

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

添加備用「|」之後的任何字符「。」。我也逃脫了這個點,因爲它不應該匹配「任何」字符,而只是點,儘管這不會影響你的測試用例。