DateJS тайна разбора - PullRequest
       7

DateJS тайна разбора

7 голосов
/ 12 марта 2010

Я использую 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 отлично работает для каждого месяца, кроме апреля и августа; в этих двух случаях возвращается первое число месяца независимо от того, какой день введен. Это ошибка, или мне не хватает логического объяснения?

1 Ответ

9 голосов
/ 13 марта 2010

Ага: похоже, версия в ссылке "Загрузка" немного старше, чем текущий источник . Вот коммит , который исправил эту ошибку :

Дэн Йодер исправил ошибку с шаблоном timeContext, где, если дата включена «апрель» или «август», парсер думал, что «а» было началом части времени (как в am / pm).

Самая последняя версия скрипта EN-US находится здесь: http://code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js Было бы неплохо, если бы сайт ссылался на него, а не на zip-файл, который не обновлялся пару лет.

...