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

新手上路,请多包涵

有没有办法像这样检查日期是否少于 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

原文由 supercoolville 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 436
2 个回答

定义

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

那么你可以做

((new Date) - myDate) < ONE_HOUR

要从约会中获得一小时,请尝试

new Date(myDate.getTime() + ONE_HOUR)

原文由 Mike Samuel 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用一些 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'));

原文由 Gorka Hernandez 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题