2014-11-03 5 views
6

Esiste un modo per confrontare 2 date senza orario con momentJS?MomentJS Day differ date solo escluso il tempo

Ho provato vari formati, ma non riesco a farlo funzionare.

ce l'ho a lavorare bene con dateTime:

var ExpiryDate = new Date("11/13/2014 11:13:00"); 
var daysDiff = moment(ExpiryDate).diff(moment(Date.now()), 'days'); 

Sto cercando di ottenere il risultato di essere di 14 giorni, non importa che ora del giorno.

Grazie

+0

se si desidera aggiungere un giorno in base al tempo, quindi confrontare il Timepart di due date e aggiungere, se necessario ... – harishr

risposta

16

È possibile utilizzare la funzione di startOf per rimuovere i componenti del tempo di entrambe le date

moment(ExpiryDate).startOf('day').diff(moment(Date.now()).startOf('day'), 'days'); 
+3

Nota: questo metodo modifica la data originale. Per "giorno" imposta letteralmente minuti, secondi e ore per l'oggetto * esistente * su 0 (quindi è molto veloce). In questo caso stai creando un nuovo oggetto e lo alterni, quindi non ci sono effetti collaterali reali, ma se dovessi fare 'ExpiryDate.startOf ('day')' senza creare un nuovo 'momento', cambierebbe l'originale. Ecco l'implementazione se sei curioso: https://github.com/moment/moment/blob/497f918515ae6ab900f008f19523b1e4ae5e2450/src/lib/moment/start-end-of.js –

Problemi correlati