Skip to content

areDatesWithinRange(判断日期在指定天数内)

函数调用方式

javascript
areDatesWithinRange(startDate, endDate, targetDays);

函数描述

areDatesWithinRange 是一个用于检查两个日期是否在目标天数之内并且包含目标天数的函数。该函数会验证输入的有效性,并根据计算的日期差返回布尔值。

参数说明

参数类型描述
startDateDate开始日期,必须是一个有效的 Date 对象。
endDateDate结束日期,必须是一个有效的 Date 对象。
targetDaysnumber目标天数,必须是一个正数,表示两个日期之间的天数差。

返回值

该函数返回一个布尔值:

  • true:表示两个日期之间的天数差小于或等于目标天数。
  • false:表示超过指定天数。

错误处理

函数会抛出以下错误:

  • 如果 startDateendDate 不是有效的 Date 对象,将抛出错误:“startDate and endDate must be valid Date objects.
  • 如果 targetDays 不是正数,将抛出错误:“targetDays must be a positive number.
  • 如果 startDate 大于 endDate,将抛出错误:“startDate must be earlier than endDate.

示例用法

以下是如何使用该函数的示例:

javascript
try {
    const start = new Date('2023-10-01');
    const end = new Date('2023-10-05');
    const targetDays = 5;
    
    const result = areDatesWithinRange(start, end, targetDays);
    console.log(result ? '在目标天数之内并且包含目标天数' : '不在目标天数之内');
} catch (error) {
    console.error(error.message);
}

在上述示例中,startend 分别是开始和结束日期,targetDays 是目标天数。函数会输出是否在目标天数之内的结果。

注意事项

  • 确保传入的日期对象是有效的,并且目标天数为正数。
  • 使用时应考虑时区可能带来的影响,尤其是在不同地区使用时。