检查日期是否少于1小时前?

2022-08-30 05:09:25

有没有办法检查日期是否少于1小时前?

// old date
var olddate = new Date("February 9, 2012, 12:15");

// current date
var currentdate = new Date();

if (olddate >= currentdate - 1 hour) {
    alert("newer than 1 hour");
else {
    alert("older than 1 hour");
}

另外,不同的问题 - 有没有办法在这样的日期中添加小时数?

var olddate = new Date("February 9, 2012, 12:15") + 15 HOURS; // output: February 10, 2012, 3:15

答案 1

定义

var ONE_HOUR = 60 * 60 * 1000; /* ms */

然后你可以做

((new Date) - myDate) < ONE_HOUR

要从日期开始一小时,请尝试

new Date(myDate.getTime() + ONE_HOUR)                       

答案 2

使用一些 ES6 语法:

const lessThanOneHourAgo = (date) => {
    const HOUR = 1000 * 60 * 60;
    const anHourAgo = Date.now() - HOUR;

    return date > anHourAgo;
}

使用 Moment 库:

const lessThanOneHourAgo = (date) => {
    return moment(date).isAfter(moment().subtract(1, 'hours'));
}

使用 Moment 的速记语法:

const lessThanOneHourAgo = (date) => moment(date).isAfter(moment().subtract(1, 'hours'));