2010-03-12 3 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 입력 형식 4 월과 8 월을 제외한 매월 잘 작동합니다. 이 두 경우에 어떤 요일이 입력 되든 상관없이 첫 번째 달을 반환합니다. 이것은 버그입니까, 아니면 내가 누락 된 논리적 인 설명입니까?

+1

잘 DateJS 홈 페이지에 가서 "15 Apr 2010"에 입력하면 확실히 작동하는 것 같습니다 ... – Pointy

답변

9

Aha : "Download" 링크의 버전이 current source보다 약간 오래된 것 같습니다. 여기 년대 commit that fixed this bug :

댄 Yoder 보낸 사람이 날짜 "4월"또는 "8 월"포함하면 timeContext 패턴으로 고정 버그, 파서가 생각 '은이'오전에로 (시간 부분 의 시작/오후).

EN-US 스크립트의 최신 버전은 여기에 있습니다 : http://code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js 그것은 좋은 것 웹 사이트가 여기에 대신 몇 년 업데이트되지 않은 zip 파일에 연결합니다.

+0

내가 얻은 다른 버그에 대한 수정을 찾고있었습니다 (Date.parse ('12 : 00 pm ')) 그리고 svn에서 최신 버전을 얻는 것은 그것을 고쳤습니다. 감사! – Hardwareguy