2011-11-01 18 views
15

Tengo un senario donde tengo que analizar dos fechas, por ejemplo, fecha de inicio y fecha de finalización.Jquery Date.parse devolviendo NaN en el navegador Chrome?

var startdate = '02/01/2011'; 
var enddate = '31/12/2011'; 

Pero si la fecha de inicio de alerta

alert(Date.Parse(startdate)); i will get 1296498600000 

pero si alerto enddate

alert(Date.Parse(enddate)); i will get NaN 

Pero esto está funcionando en otros navegadores, excepto Chrome, pero en otros navegadores

alert(Date.Parse(enddate)); i will get 1370889000000 

¿Alguien puede kn ¿Cómo se puede solucionar esto?

+2

incapaces de reproducirse, funciona para mí: http: // jsFiddle .net/b77DE/1/ –

+0

Funciona para mí también en Chrome. – Connell

+0

Ah, y por cierto el método [parse] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse) espera que la cadena tenga el formato RFC822 o ISO 8601. –

Respuesta

10

Si desea analizar una fecha sin diferencias locales, utilice la siguiente, en lugar de Date.parse():

var enddate = '31/12/2011'; //DD/MM/YYYY 
var split = enddate.split('/'); 
// Month is zero-indexed so subtract one from the month inside the constructor 
var date = new Date(split[2], split[1] - 1, split[0]); //Y M D 
var timestamp = date.getTime(); 

Ver también: Date

+0

Esto me ayuda mucho en la resolución, gracias Rob –

+0

Gracias, golpea un error similar y me salvaste, +1 – iamserious

+0

Cuidado al usar esto - me acaba de atrapar ya que los meses parecen estar 0 indexados por alguna extraña razón ... var date = new Date (split [2], parseInt (split [1] - 1), split [0]); trabajado sin embargo. –

2

Según this

DateString Una cadena que representa un RFC822 o ISO 8601 fecha.

He intentado con su código y también obtengo NaN para la fecha de finalización, pero si cambio la fecha y el mes, funciona bien.

Cuestiones relacionadas