我需要一些有关 javascript 代码的帮助,如果第二个日期大于 3 天,我需要检查两个字符串日期值(第一个日期和第二个日期),我以字符串格式获取值mm/dd/yyyy。请帮忙。
var firstDate = '10/01/2019'
var secondDate = '10/04/2019'
if ((inputData.firstDate) + 3 === inputData.secondDate) {
return {
dateCheck: 'Not greater than 3 days'
};
} else {
return {
dateCheck: 'Greater than 3 days'
};
}Run Code Online (Sandbox Code Playgroud)
N向您使用的日期添加天数Date.getDate() + N
var d1 = new Date('10/01/2019');
var d2 = new Date('10/04/2019');
var isGreater = +d2 > d1.setDate(d1.getDate() + 3); // false (equals three days)
Run Code Online (Sandbox Code Playgroud)
鉴于上述内容,您可以创建一个简单的可重用函数
var d1 = new Date('10/01/2019');
var d2 = new Date('10/04/2019');
var isGreater = +d2 > d1.setDate(d1.getDate() + 3); // false (equals three days)
Run Code Online (Sandbox Code Playgroud)
回顾一下:创建一个函数,在N向日期添加天数后,计算两个时间戳。
也许您可以定义一个辅助函数来解析您的输入日期字符串,以便您可以在应用了 3 天偏移量的每个日期之间进行比较,如下所示:
var firstDate = '10/01/2019'
var secondDate = '10/04/2019'
/*
Define helper function to parse input date string and
return the date as milliseconds since epoch time, whihch
gives us an easy format to compare offset dates
*/
function parseDate(str) {
/*
Break input string into date parts
*/
const parts = str.split('/').map(p => parseInt(p));
/*
Create date object and populate parts
*/
const date = new Date();
date.setTime(0);
date.setDate(parts[0]);
date.setMonth(parts[1] - 1);
date.setFullYear(parts[2]);
/*
Return date in milliseconds
*/
return date.getTime()
}
/*
If first input date + 3 days (in milliseconds) is less than second input
date, then second date is not greater than 3 days since first date
*/
if (parseDate(firstDate) + (86400000 * 3) < parseDate(secondDate)) {
console.log('Not greater than 3 days');
} else {
console.log('Greater than 3 days');
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |