简体   繁体   English

如何用momentjs检查过去的日期是否至少一天?

[英]How to check if a date is at least one day in the past with momentjs?

How does one generally check if a random date is at least one day (24hrs) in the past with momentjs? 如何通过momentjs检查过去的随机日期是否至少是一天(24小时)?

Something like: 就像是:

const today = moment()
const isAtLeastADayAgo = today.subtract(dateToCheck) > 1 // ??

You can simply use isBefore 你可以简单地使用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> 

Or you can use diff limiting granularity to days: 或者您可以使用diff限制粒度到天:

 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> 

i would suggest you to do it with plain javascript Date constructor. 我建议你用普通的javascript Date构造函数来做。

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.
const isAtLeastADayAgo = moment().subtract(1,'days')>dateToCheck

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM