You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript:实现计算两个星期几之间天数差的函数

JavaScript函数计算两个星期几的天数差

嘿,这个需求挺实用的,我来给你写个简单靠谱的JavaScript函数搞定它!

首先得把中文的星期几转换成可计算的数字,我习惯把周日设为0,周一到周六依次对应1到6,这个映射刚好能匹配你给出的示例逻辑。

下面是完整的函数实现:

function calculateDayDiff(startDay, endDay) {
  // 建立星期几到数字的映射关系
  const weekDayMap = {
    '周日': 0,
    '周一': 1,
    '周二': 2,
    '周三': 3,
    '周四': 4,
    '周五': 5,
    '周六': 6
  };

  // 将输入的星期几字符串转为对应数字
  const startNum = weekDayMap[startDay];
  const endNum = weekDayMap[endDay];

  // 分两种情况计算差值:不跨周直接相减,跨周则补满一周的天数再计算
  if (endNum >= startNum) {
    return endNum - startNum;
  } else {
    return 7 - startNum + endNum;
  }
}

来测试你给出的示例:

  • calculateDayDiff('周一', '周五') 返回 4,完全符合需求
  • calculateDayDiff('周日', '周六') 返回 6,和示例一致

我再补充几个场景帮你验证逻辑:

  • calculateDayDiff('周五', '周一') 返回 3(周五到周六1天、周日2天、周一3天)
  • calculateDayDiff('周六', '周日') 返回 1

这个函数逻辑很直观,先做映射转换,再根据是否跨周计算差值,覆盖了所有可能的星期几组合情况。

内容的提问来源于stack exchange,提问作者Arjun Kariyadan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:52