Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/12/2010, 05:03
occiso
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 20 años, 2 meses
Puntos: 5
Respuesta: Comparación de fechas

Cita:
Iniciado por snahor_ Ver Mensaje
No se en que navegador te funciona esto
Código:
new Date('30/11/2010')
es incorrecto o no es valido, dependiendo del navegador.

La manera correcta de crear un nuevo objeto Date (para tu caso) es
Código:
new Date(2010, 10, 30)
Donde el primer parametro es el a#o, el segundo es el numero de mes pero en base a 0 (es decir se empieza a contar desde 0, por ejemplo enero es el mes 0), y el ultimo, es el dia.

Unas sugerencias, no es necesario que uses new String, basta con que uses ''.

Bueno, si miras en la web de sun de referencia sobre el objeto Date verás

Cita:
new Date(dateString)

dateString: String value representing a date. The string should be in a format recognized by the Date.parse method. (en donde se incluye el dd/mm/yyyy)
De todas maneras lo que me has dicho ya lo había probado y tampoco funciona; es fácilmente comprobable.

Para testear utilizo firefox y firebug.


EDITO: He estado haciendo pruebas y en parte tenías razón. Estabas en lo correcto porque la forma correcta de llamar al constructor es como me has dicho:
Código:
new Date(2010, 10, 30)
El error es que la fecha generada no es la del 30 de Nov de 2010, sino la del 30 de Dec de 2010; es decir, que los meses empieza a contar desde [0-11] siendo el cero el mes de enero y el once el mes de diciembre, por eso me seguía funcionando de una manera inesperada. si le indicas la fecha como:
Código:
new Date(2010, 12, 30)
Te la indica como 30 de enero del 2011. Me parece una buena cagada por parte de los que desarrollaron ese contructor, es anti-intuitivo total.

Tengo la posibilidad de utilizar los formatos de conversion del Extjs. no sé si merece la pena utilizarlos o hay una solución en javascript que sea más elegante. Seguro que no soy el primero que me topo con este dilema.

Última edición por occiso; 18/12/2010 a las 06:09