admin管理员组

文章数量:1287505

How does one generally check if a random date is at least one day (24hrs) in the past with momentjs?

Something like:

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

How does one generally check if a random date is at least one day (24hrs) in the past with momentjs?

Something like:

const today = moment()
const isAtLeastADayAgo = today.subtract(dateToCheck) > 1 // ??
Share Improve this question asked Feb 13, 2017 at 8:41 j_dj_d 3,08210 gold badges55 silver badges96 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 10

You can simply use 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./ajax/libs/moment.js/2.17.1/moment.min.js"></script>

Or you can use diff limiting granularity to days:

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

i would suggest you to do it with plain javascript Date constructor.

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

本文标签: javascriptHow to check if a date is at least one day in the past with momentjsStack Overflow