📐 天数差值核心公式
两个日期之间的绝对天数 = Math.abs(结束日期.getTime() - 开始日期.getTime()) / (1000 * 60 * 60 * 24)。通过将两个日期的时间戳相减,再除以一天的毫秒数得到精确差值。本工具还将日期归一到本地日期的00:00:00,杜绝时区干扰。
📅 年、月、周近似换算
约年数 = 总天数 / 365.2425 (考虑格里高利年平均长度)
约月数 = 总天数 / 30.44 (平均月份天数)
周数 = floor(总天数 / 7) + 小数周提示
同时提供精确到小时、分钟的值,满足用户对于短时间差的查看需求(虽然日期差主要关注天数,但完整时间差可供参考)。
📌 工作日(仅估算周一至周五)
工作日数量 = 遍历两个日期之间(包含起始和结束端点可配置)非周末的天数。本工具默认统计两个日期之间的所有工作日(包含起始日期,不包含结束日期模式可通过调整,这里提供标准区间绝对间隔的工作日数量,方便做粗略任务安排)。
❓ 常见问题解答 (FAQ)
1. 日期差包含结束日期吗?答:默认计算的是两个日期之间的绝对间隔天数(从开始日到结束日经过多少天)。例如从1月1日到1月2日,差值为1天,表示跨过1天。工作日计算区间为 [start, end) 不含结束当天周末;如要精确排班可参考。
2. 为什么选择日期后显示差异天数与预期不符?答:请检查浏览器时区设置,本工具基于本地日期构造new Date(year, month, day)规避时区偏移,确保稳定。另外如果开始日期晚于结束日期,自动取绝对值,确保结果始终为正。
3. 工作日估算是否考虑法定节假日?答:目前仅排除周六周日,不考虑法定节假日调休,适合常规工作日的粗略估算。如需准确工作日,建议结合具体日历。
4. 能否计算两个日期之间的小时或分钟?答:可以,本工具在详细结果区域会显示总小时数和总分钟数(基于天数精确值乘算)。
5. 如何计算年龄精确到天?答:开始日期选出生日期,结束日期选今天,点击计算即可得到总天数及约年数,非常方便。