📌  相关文章
📜  javascript 计算日期之间的天数 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:38.283000             🧑  作者: Mango

JavaScript 计算日期之间的天数

有时候我们需要写一些需要计算日期之间天数的程序,比如借用图书的天数,或者计算工作日等等。

在 JavaScript 中,我们可以使用 Date() 对象来计算两个日期之间的天数。

计算两个日期之间的天数

我们可以使用下面的方法来计算两个日期之间的天数:

function daysBetween(date1, date2) {
  // 计算两个日期之间的时间差,转换成天数
  const oneDay = 24 * 60 * 60 * 1000; // 毫秒数
  const diffDays = Math.round(Math.abs((date2 - date1) / oneDay));

  return diffDays;
}

其中 date1date2 是两个日期对象,如下所示:

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;
}

其中,date1date2 为两个日期对象,如下所示:

const date1 = new Date("2022-02-01");
const date2 = new Date("2022-02-14");
console.log(workDaysBetween(date1, date2)); // 输出结果为 9
总结

以上就是 JavaScript 计算日期之间的天数的方法,我们可以使用 Date() 对象来计算两个日期之间的天数以及排除周末的天数。