如何减去两个日期?

时间:2016-08-10 15:21:40

标签: javascript

我将日期存储在数据库中作为字符串。它看起来像这样: 2016年8月23日星期二00:00:00 GMT-0500(CDT)

我基本上想知道今天的日期是在数据库中的日期之前还是之后。

下面的代码应该解释我想要的东西。问题是在差异变量没有返回数字变量之后,这就是我需要的。

var expire = value.vaccines;
var today = new Date();
var difference = today-expire;

if(difference <= 0){
    $(element).css({"color": "#0040ff"});
}

有关如何减去这两个日期并获得数字值的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以只计算两个Date对象之间的差异,并使用Math.abs()获取绝对值:

var today = new Date(),
    expire = value.vaccines,
    difference = Math.abs(today - expire); // difference in milliseconds

if (difference <= 0) {
    $(element).css({
        "color": "#0040ff"
    });
}

检查expire是否为有效Date对象。

答案 1 :(得分:0)

假设您的对象都是Date

虽然您只需要以毫秒为单位的返回值,但我添加了格式化值的额外步骤。

Math.floor((today - expire) / (1000*60*60*24))

取自Here