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

j_d*_*j_d 3 javascript jquery date momentjs

通常,如何使用momentjs检查随机日期是否过去至少一天(24小时)?

就像是:

const today = moment()
const isAtLeastADayAgo = today.subtract(dateToCheck) > 1 // ??
Run Code Online (Sandbox Code Playgroud)

Vin*_*zoC 5

您可以简单地使用 isBefore

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

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

或者,您可以diff将粒度限制为几天:

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