javascript - 对未来日期做数学
问题描述
我试图弄清楚如何计算与当前日期相比的未来日期。例如:(将截止日期视为日期字段) - 如果截止日期(值形式)在未来但 <= 当前年份的 12/31,“今年” - 如果截止日期(值形式)在未来但> 当年 12/31,“未来”</p>
到目前为止,我无法在我的代码中解决这个问题。
我需要 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');
}
}
因此,结果应该是:当用户从 Deadline 中选择一个日期时,另一个名为 Timing 的字段将生成 Text。当前,我可以计算选择的日期是今天还是今天之前,时间会说“过期”。接下来,如果所选日期大于今天,但在 180 天内,Timing 将显示“Deadline Approaching”。但是,为了得到我上面提到的其余部分,我被卡住了。
解决方案
我们使用 moment.js 来处理日期,它使事情变得更容易。
这将告诉您选择的日期是否是今天:
var iscurrentDate = moment().isSame(dateToCheck, "day");
if(iscurrentDate)
{
}
你也可以做类似的事情一年
var iscurrentDate = moment().isSame(dateToCheck, "year");
if(iscurrentDate)
{
}
有关时刻的更多信息:https ://momentjs.com/docs/
推荐阅读
- c - 我的函数是否正确返回了指向结构的指针?
- c# - 如何淡化xml并通过c#中的wcf服务传递它
- python - 使用一个主脚本跨多个目录调用 python 模块
- java - 添加两个整数时Java中的意外输出
- flutter - ExpansionTile or ExpansionPanel with horizontal scrolling using flutter
- python - Numpy 3D矩阵乘法
- bash - 推送到heroku git master时忽略警告
- sql - 如何在(Oracle SQL)中只允许数字
- python - 当 y_min = 0 时,二维平面中的有效联合和交叉点
- node.js - 节点js的Heroku部署