2010-11-15 22 views
11

Estoy tratando de obtener el nombre del día en javascript. Cada vez que busco para el uso de la función getDay(), se explica que este método devuelve el día de la semana, por ejemplo: 0 es Domingo, Lunes 1 se etc.Problema con el método getDay() javascript

Así que la primera Janauary 2010 fue un viernes, ¿Alguien puede explicar por qué estoy obteniendo 1 en lugar de 5? Lo mismo para el 2 de enero de 2010, obtengo 2 en lugar de 5.

He intentado algunas formas de hacerlo sin éxito.

Aquí está mi código:

theDay = new Date(2010,01,01); 
alert(theDay.getDay()); 

gracias !!!

Respuesta

14

El mes en JS tiene base cero, al igual que el día de la semana.

Fecha (2010,01,01) es el 1 de febrero de 2010. Enero es el mes cero. Efectivamente, el 1 de febrero de 2010 fue un lunes (lo recuerdo bien).

Prueba esto:

var theDay = new Date(2010,00,01); 
alert(theDay.getDay()); 
8

El mes comienza a las 0, así que lo que está haciendo es tratando de encontrar 1 ª Feb, 2010, que es un lunes. Esto sería correcto:

theDay = new Date(2010,0,01); 
alert(theDay.getDay()); 
Cuestiones relacionadas