2017-02-13 3 views

Antwort

3

Sie einfach isBefore

function isADayAgo(input){ 
 
    let yesterday = moment().subtract(1, 'd'); 
 
    return input.isBefore(yesterday); 
 
} 
 

 
const isAtLeastADayAgo = isADayAgo(moment()); 
 
console.log(isAtLeastADayAgo);
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

Oder können Sie diff verwenden Begrenzung Granularität Tage verwenden können:

const today = moment(); 
 
const dateToCheck = moment().subtract(3, 'd'); 
 
const isAtLeastADayAgo = today.diff(dateToCheck, 'd') > 1; 
 
console.log(isAtLeastADayAgo);
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

0
const isAtLeastADayAgo = moment().subtract(1,'days')>dateToCheck 
1

ich würde vorschlagen, dass Sie es mit einfachen Javascript-Date-Konstruktor zu tun.

var today = new Date(); 
var pastDate = // some past date 
// 86400 seconds in 24hrs 
// getTime() will return you date in milliseconds 
if(86400000 < today.getTime()-pastDate.getTime()) will return true if past date is older than 24Hrs. 
+1

Eine Stimme von mir, aber ich würde es als 'if (heute - pastDate> 86400000)', obwohl es über eine Sommerzeitgrenze ungenau sein kann. Um das zu beheben: 'if (pastDate RobG

+0

@RobG ich folgte nur der * eslint * recomendation um auf der rechten Seite konstant zu schreiben. BTW Ich mochte Ihre Antwort (Reiniger). – sheelpriy

Verwandte Themen