Aquí hay una manera de hacerlo haciendo uso de la forma en que agregar un día hace que la fecha se transfiera al siguiente mes si es necesario, y sin perder el tiempo con milisegundos. El horario de verano tampoco es un problema.
var now = new Date();
var daysOfYear = [];
for (var d = new Date(2012, 0, 1); d <= now; d.setDate(d.getDate() + 1)) {
daysOfYear.push(new Date(d));
}
Tenga en cuenta que si desea almacenar la fecha, necesitará hacer una nueva (como se indica arriba con new Date(d)
), o de lo contrario terminará con cada fecha almacenada como el valor final de d
en el ciclo.