Javascript比较两个日期时间

标签 javascript jquery momentjs

我需要比较两个日期时间。日期时间格式为:DD-MM-YYYY hh:mm:ss。

这是我的代码:

expirationDate = someDate;
var now = moment().format("DD-MM-YYYY hh:mm:ss");

if(moment(expirationDate).isBefore(now)){
    console.log("Past");        
} else {
    console.log("Future");
}

对于这个日期时间,它工作得很好:

Now: 07-12-2017 11:15:09
Expiration date: 07-12-2017 10:14:10
it return Past

但是对于这个它不起作用:

Now: 07-12-2017 11:15:03
Expiration date: 15-12-2016 05:59:00
it return Future

我也试过 if (Date.parse(expireDate) < Date.parse(now)) 它也不能正常工作。 有谁知道问题出在哪里,或者有没有其他方法可以比较两个日期时间?

最佳答案

您需要指定日期字符串的格式。

if (moment().isAfter(moment(expirationDate, 'DD-MM-YYYY HH:mm:ss'))) {
  console.log("Past");
} else {
  console.log("Future");
}

关于Javascript比较两个日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692772/

相关文章:

javascript - 为什么我的选择字段事件处理程序在 Chrome/Android 中不起作用?

javascript - 忽略 moment.js 的 eslint 错误

javascript - 如何在使用编译而不是链接的指令中使用 Angular 中的矩库

javascript - 使用 jQuery 检查是否所有的 div 都被隐藏

Javascript 删除 div 元素

jquery - qTip,可拖动

node.js - 无法在 Lambda 中创建具有 UTC 旁边时区的日期对象

javascript - 返回 JavaScript 中的函数输入

javascript - 如何让我的过渡顺利?

javascript - 我怎样才能得到最后一个的值(value)?