Ho due moment date:Come enumerare date tra due date nel momento
var fromDate = moment(new Date('1/1/2014'));
var toDate = moment(new Date('6/1/2014'));
Vuol momento fornire un modo per enumerare tutte le date tra queste due date?
Se no, c'è una soluzione migliore diverso da fare un ciclo che incrementa il fromDate
da 1 fino a raggiungere la toDate
?
Edit: Aggiunta la data metodo di enumerazione e problema
ho preso in giro un metodo per enumerare i giorni tra due date, ma sto correndo in un problema.
var enumerateDaysBetweenDates = function(startDate, endDate) {
var dates = [];
startDate = startDate.add(1, 'days');
while(startDate.format('M/D/YYYY') !== endDate.format('M/D/YYYY')) {
console.log(startDate.toDate());
dates.push(startDate.toDate());
startDate = startDate.add(1, 'days');
}
return dates;
};
Date un'occhiata al output quando eseguo enumerateDaysBetweenDates(moment(new Date('1/1/2014')), moment(new Date('1/5/2014'));
Thu Jan 02 2014 00:00:00 GMT-0800 (PST)
Fri Jan 03 2014 00:00:00 GMT-0800 (PST)
Sat Jan 04 2014 00:00:00 GMT-0800 (PST)
[ Sun Jan 05 2014 00:00:00 GMT-0800 (PST),
Sun Jan 05 2014 00:00:00 GMT-0800 (PST),
Sun Jan 05 2014 00:00:00 GMT-0800 (PST) ]
E 'console.logging le date giuste, ma è essere aggiunto solo la data finale per l'array. Come/perché è questo? Questo odora di una sorta di problema di riferimento variabile - ma non lo vedo.
Non conoscevo il metodo clone. Dolce! Grazie. – doremi
Nota che 'momento(). Aggiungi (punto, numero) è deprecato. Per favore usa il momento(). Aggiungi (numero, punto) '. – chteuchteu
Interessante per l'opzione di ordine degli argomenti. Suppongo che l'abbiano fatto per fare in modo che una catena di funzioni di manipolazione della data leggesse più come una frase inglese, ma se si volesse usare Moment insieme a una libreria di applicazioni currying/parziale si vorrebbe '.add (punto, numero)', wouldn sei tu? – nnnnnn