📅  最后修改于: 2023-12-03 14:42:38.283000             🧑  作者: Mango
有时候我们需要写一些需要计算日期之间天数的程序,比如借用图书的天数,或者计算工作日等等。
在 JavaScript 中,我们可以使用 Date()
对象来计算两个日期之间的天数。
我们可以使用下面的方法来计算两个日期之间的天数:
function daysBetween(date1, date2) {
// 计算两个日期之间的时间差,转换成天数
const oneDay = 24 * 60 * 60 * 1000; // 毫秒数
const diffDays = Math.round(Math.abs((date2 - date1) / oneDay));
return diffDays;
}
其中 date1
和 date2
是两个日期对象,如下所示:
const date1 = new Date("2022-02-01");
const date2 = new Date("2022-02-14");
console.log(daysBetween(date1, date2)); // 输出结果为 13
如果我们需要计算工作日而不是实际日,我们就需要排除周末的日期。我们可以使用下面的代码来排除周末的日期:
function workDaysBetween(date1, date2) {
const oneDay = 24 * 60 * 60 * 1000; // 毫秒数
let diffDays = Math.round(Math.abs((date2 - date1) / oneDay));
let workDays = 0;
for (let i = 0; i < diffDays; i++) {
const tempDate = new Date(date1);
tempDate.setDate(date1.getDate() + i);
// 排除周末
if (tempDate.getDay() !== 0 && tempDate.getDay() !== 6) {
workDays++;
}
}
return workDays;
}
其中,date1
和 date2
为两个日期对象,如下所示:
const date1 = new Date("2022-02-01");
const date2 = new Date("2022-02-14");
console.log(workDaysBetween(date1, date2)); // 输出结果为 9
以上就是 JavaScript 计算日期之间的天数的方法,我们可以使用 Date()
对象来计算两个日期之间的天数以及排除周末的天数。