2010-03-12 1 views
7

Я использую DateJS для анализа введенных пользователем дат и получения некоторых странных результатов.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

Хорошо, когда я перехожу на домашнюю страницу DateJS и набираю «15 апреля 2010 года», он, похоже, работает ... – Pointy

ответ

9

Aha: Похоже, что версия в ссылке "Download" является хорошей бит старше, чем current source. Вот commit that fixed this bug:

Dan Иодер исправлена ​​ошибка с timeContext рисунком, где, если дата включена «Апрель» или «Август», СА подумал «а» было начало времени часть (как в ч/вечера).

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

+0

Я искал исправление для другой ошибки, которую я получал (Date.parse ('12: 00 pm ')) и получить последнюю версию от svn исправил ее. Благодаря! – Hardwareguy