在将来的日期做数学

时间:2019-06-06 17:59:19

标签: javascript

我试图弄清楚如何计算与当前日期相比的未来日期。例如:(将“截止日期”视为“日期”字段) -如果截止日期(价值形式)在将来,但当前年份<= 12/31,则为“今年” -如果最后期限(值形式)在将来但在当年的12/31以上,则表示“未来”

到目前为止,我无法在我的代码中找到答案。

我需要有关var theFuture的帮助,并为“是未来,但<=本年的21/31。”创建一个var。

var theFuture = new Date("January 01 2020");
    //theFuture.setDate(today.getDate());


    //Compare the two numbers
    if (dateToCheck < rightNow || dateToCheck == rightNow) {
        theTiming = "Overdue";
        g_form.setValue('u_timing', theTiming);
    }
    else if (dateToCheck >= approaching) {
        theTiming = "Deadline Approaching";
        g_form.setValue('u_timing', theTiming);
    }
    else if (dateToCheck > theFuture){
        theTiming = "Future";
        g_form.setValue('u_timing, theTiming');
    }   
}

因此,结果应该是:当用户从“截止日期”中选择一个日期时,另一个称为“计时”的字段将生成“文本”。目前,我能够计算出所选的日期是今天还是今天之前,时间会说“过期”。接下来,如果所选日期大于180天内的今天BUT,则时间将显示“截止日期即将到来”。但是,要获得我上面提到的其余信息,我会陷入困境。

1 个答案:

答案 0 :(得分:1)

我们使用moment.js处理日期,这使事情变得容易得多。

这将告诉您所选日期是否是今天:

var iscurrentDate = moment().isSame(dateToCheck, "day");
if(iscurrentDate)
{
}

您也可以在一年中做类似的事情

var iscurrentDate = moment().isSame(dateToCheck, "year");
if(iscurrentDate)
{
}

有关此刻的更多信息:https://momentjs.com/docs/