Date.js parseExact с французской культурой - PullRequest
1 голос
/ 09 марта 2012

Я использую последнюю сборку date-fr-FR.js в стволе svn (rev 191).Кажется, что синтаксический анализ не выполняется для имен дней и месяцев.

Date.parse("9 3 2012")

в порядке, но:

Date.parse("vendredi 9 mars 2012")

возвращает null .

parseExactтоже не помогает:

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

возвращает ноль.

Кто-нибудь сталкивался с подобной проблемой?Существует ли более поздняя версия локализованных файлов?

Может быть, вы могли бы порекомендовать мне другую библиотеку дат javascript, если никто не может найти решение.

1 Ответ

2 голосов
/ 13 апреля 2012

Файл французской культуры fr-FR: js , похоже, содержит несколько ошибок. Например, регулярное выражение для пятницы показывает:

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

Это означает, что "ve" или "ven" или "ven". или "ven.dredi" признаются пятницей, но не "vendredi". Точнее, приведенное выше регулярное выражение соответствует «vend» и оставляет «redi» бесподобным, что приводит к сбою синтаксического анализа. Одна и та же ошибка присутствует для всех дней недели и большинства месяцев.

Чтобы исправить это, вы можете заменить вышеприведенное регулярное выражение на:

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

Добавление альтернативного "|" после любого символа ".". Я также избежал точки, потому что она не должна совпадать с «любым» символом, а только с точкой, хотя это не подведет ваш тестовый пример.

...