2012-02-14 13 views
5

Lo que estoy haciendo es un sitio web de previsión meteorológica, y lo que necesito son los días de la semana (es decir, "Domingo", "Lunes", etc.). Para obtener la fecha de mañana, solo pongo "+1" como alguien sugirió en otra pregunta, pero cuando llega el sábado, dice "indefinido". ¿Cómo lo hago para que llegue al sábado, + 1 pase al domingo? ¡Gracias por adelantado!Obtenga la fecha de mañana con getDay Javascript

var day=new Date(); 
var weekday=new Array(7); 
weekday[0]="Sunday"; 
weekday[1]="Monday"; 
weekday[2]="Tuesday"; 
weekday[3]="Wednesday"; 
weekday[4]="Thursday"; 
weekday[5]="Friday"; 
weekday[6]="Saturday"; 

document.getElementById('tomorrow').innerHTML = weekday[day.getDay() + 1]; 
document.getElementById('twodays').innerHTML = weekday[day.getDay() + 2]; 
document.getElementById('threedays').innerHTML = weekday[day.getDay() + 3]; 

Respuesta

7

Use (day.getDay() + i) % 7. Eso solo arrojará resultados entre 0-6.

+0

Gracias tanto fayerth! No sé de qué está hablando andyortlieb: P –

+0

Lo siento, estaba tratando de ser inteligente. El código es correcto, pero afortunadamente solo la explicación es una por una;) 0-6. – andyortlieb

+0

@andyortlieb Gracias por la captura. Vi eso y lo solucioné. :) – fayerth

26

Para agregar un día a un objeto Date de JavaScript puede hacer:

var date =new Date(); 
//use the constructor to create by milliseconds 
var tomorrow = new Date(date.getTime() + 24 * 60 * 60 * 1000); 

Nota, obtener Fecha.

Date.getDay devuelve un número de 0-6 según el día de la semana en que se encuentre.

Por lo que haría:

var date =new Date(); 
var tomorrow = new Date(date.getTime() + 24 * 60 * 60 * 1000); 
var twoDays = new Date(date.getTime() + 2 * 24 * 60 * 60 * 1000); 
var threeDays = new Date(date.getTime() + 3 * 24 * 60 * 60 * 1000); 

document.getElementById('tomorrow').innerHTML = weekday[tomorrow.getDay()]; 
document.getElementById('twodays').innerHTML = weekday[twoDays.getDay()]; 
document.getElementById('threedays').innerHTML = weekday[threeDays.getDay()]; 

Editar: Fijación de errata

+0

Gracias pero eso realmente no estaba buscando. Fayerth respondió mi pregunta, gracias. –

+1

@JordanClark Actualicé mi respuesta. – gideon

Cuestiones relacionadas