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
相关产品推荐
相关产品推荐

