Esto funcionó para mí también:
$("#hfEventStartDate").val(new Date - 24 * 3600 * 1000 * 7 - 1);
$("#hfEventEndDate").val(new Date - 0);
function getAllDays() {
var s = new Date($('#hfEventStartDate').val() - 0);
var e = new Date($('#hfEventEndDate').val() - 0);
var a = [];
while(s <= e) {
a.push(new Date(s));
s.setDate(s.getDate() + 1);
}
return a;
};
alert(getAllDays().join("\n"));
es el mismo código ese pimvdb publicado con algunos cambios menores, pero da un resultado diferente. Me tomó 4 horas tratando de entender por qué, y esto es lo que creo que sucede con el código de pimvdb:
1 loop
a[0] = S1 = $("#hfEventStartDate").val(new Date - 24 * 3600 * 1000 * 7 - 1);
//2013-09-01
2 loop
a[0] = s1.setDate(s1.getDate() + 1); // 2013-09-02
a[1] = s2 = new Date(s1.setDate(s1.getDate() + 1)) // 2013-09-02
3 loop
a[0] = s1; // 2013-09-02
a[1] = s2.setDate(s2.getDate() + 1); // 2013-09-03
a[2] = s3 = new Date(s2.setDate(s2.getDate() + 1)) // 2013-09-03
and so on...
No estoy seguro si esto estaba destinado deliberadamente por pimvdb pero su código de izquierdas a cabo el día de inicio, la cual en mi ejemplo sería 2013-09-01. Pero incluso si fue intencionado, ¿por qué no dejar el último día también? al menos eso es lo que (< e) parecía ser la intención, pero el último día está incluido en la matriz final.
Lo siento, puedo estar equivocado, nunca he trabajado con programación orientada a objetos, pero tratar de entender por qué un [0] estaba cambiando en el segundo ciclo después de haber sido asignado en el primer puño me volvió absolutamente loco . Espero no estar tan equivocado. Gracias.
Inténtelo algo por sí mismo antes de publicar una pregunta; la mayoría de la gente aquí fruncir el ceño ante las solicitudes de código como este. –