2010-03-12 6 views
7

Estoy usando DateJS para analizar las fechas ingresadas por el usuario y obtener algunos resultados extraños.misterio de análisis de DateJS

  1. Date.parse("15 Jan 2010") vuelve Fri Jan 15 00:00:00 EST 2010 (derecha)

  2. Date.parse("15-Apr-2010") devuelve Thu Apr 15 00:00:00 EDT 2010 (derecha)

  3. Date.parse("15 Apr 2010") vuelve Thu Apr 1 00:00:00 EDT 2010 (mal)

Por lo que yo puedo decir, la d MMM yyyy formato de entrada funciona bien para todos los meses, excepto abril y agosto; en esos dos casos, devuelve el primero del mes sin importar el día en que se ingrese. ¿Es esto un error, o hay una explicación lógica que me falta?

+1

Bueno, cuando voy a la página de inicio de DateJS y escribo "15 Abr 2010", parece que funciona ... – Pointy

Respuesta

9

Aha: Parece que la versión en el enlace "Download" es un poco más antigua que current source. Aquí está la commit that fixed this bug:

Dan Yoder Solución de error con el patrón timeContext donde si una fecha incluida "Abril" o "Agosto", pensó el analizador de la 'a' fue el principio de una parte de tiempo (como en la mañana/pm).

La versión más reciente de la secuencia de comandos ES-nosotros está aquí: http://code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js Sería bueno si el sitio ligado a este lugar de a un archivo zip que no se ha actualizado durante un par de años.

+0

Estaba buscando una solución a otro error que estaba recibiendo (Date.parse ('12: 00 pm ')) y obtener la última versión de svn fixed it. ¡Gracias! – Hardwareguy