15 0 0
js判断某个日期是否存在开始日...
雪乃 UID:10561 练气期
2026-04-24 277

js判断某个日期是否存在开始日期至结束日期范围之内!

传入三个值,第一个为 开始日期,第二个为 结束日期,第三个为 需要判断的日期。

如果第三个不传,则获取当天的日期用来判断。


/**
     * 判断指定日期(或今天)是否在开始/结束日期范围内(包含起止当天)
     * @param {string} startDateStr - 开始日期(格式:YYYY-MM-DD)
     * @param {string} endDateStr - 结束日期(格式:YYYY-MM-DD)
     * @param {string|null|undefined} targetDateStr - 自定义目标日期(可选,格式:YYYY-MM-DD),不传则判断今天
     * @returns {boolean} 目标日期在范围内返回true,否则返回false
     */
    isDateInRange(startDateStr, endDateStr, targetDateStr) {
      try {
        // 步骤1:确定目标日期(有自定义则用自定义,无则用今天)
        let targetDate;
        if (targetDateStr) {
          // 解析自定义目标日期
          targetDate = new Date(targetDateStr);
        } else {
          // 无自定义日期 → 用今天(仅保留年月日,清空时分秒)
          const today = new Date();
          targetDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
        }

        // 步骤2:解析开始/结束日期(仅保留年月日,避免时分秒干扰)
        const startDate = new Date(startDateStr);
        const endDate = new Date(endDateStr);
        // 纯日期对象(清空时分秒)
        const pureStartDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());
        const pureEndDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());
        const pureTargetDate = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate());

        // 步骤3:校验所有日期合法性
        const isStartValid = !isNaN(pureStartDate.getTime());
        const isEndValid = !isNaN(pureEndDate.getTime());
        const isTargetValid = !isNaN(pureTargetDate.getTime());
        if (!isStartValid || !isEndValid || !isTargetValid) {
          console.error('日期格式错误,请传入 YYYY-MM-DD 格式的有效日期');
          return false;
        }

        // 步骤4:核心判断:目标日期 >= 开始日期 且 <= 结束日期
        return pureTargetDate >= pureStartDate && pureTargetDate <= pureEndDate;
      } catch (e) {
        console.error('日期范围判断出错:', e);
        return false;
      }
    }



附件详情

  • 说明: 普通用户每次点击下载扣除1金币
  • 附件名:
    加载中...
  • 附件分类:
    暂无
  • 账户经验:
    0 点 [排行]
  • 账户金币:
    0 个 [兑换]
  • 账户灵石:
    0 枚 [充值]
  • 上传信息:
    雪乃|2026-04-24
  • 下载地址:
加载中...
Mr.Chen Mr.Chen UID: 1 点歌于 32天前
点歌
看过的人 (29)
  • 梦里花
  • 乜许
  • 孤星
  • 兔耳
  • 乱心
最新回复 (15)
  • 悖论 UID:10553 练气期
    2026-04-24
    16

    登录后可见回帖内容
  • 碎星 UID:10563 练气期
    2026-04-24
    15

    登录后可见回帖内容
  • 凉栀 UID:10550 练气期
    2026-04-24
    14

    登录后可见回帖内容

请先登录后发表评论!

返回

头条热榜

滑动查看更多

抖音热榜

滑动查看更多

快手热榜

滑动查看更多

2025年乙巳年蛇年
13:36:00
公历日期
9月26日
农历日期
八月初五
星期
星期五
下午好
金秋时节,愿您收获满满
距离国庆节还有5天

请先登录后发表评论!