日期间隔计算器
只需输入两个日期,即可按照日历规则精确计算两者之间相差的天数、周数、月数和年数。适用于计算距离某个事件还有多少天、已经过去多少天,或计算项目工期。
日期间隔计算小技巧
- 将即将到来的活动日期填入"结束日期",即可立即看到距离该活动还有多少天。点击"填入今天"按钮可快速将结束日期设为今天。
- "年・月・日"的换算结果是严格按照日历计算的,例如从1月15日到3月20日会正确显示为"2个月5天",而不是简单地用总天数除以30得到的粗略估算。
- 计算合同或项目工期时,可将开始日期设为签约日、结束日期设为交付截止日,即可一目了然地看到剩余天数和总工期。
- 跨越闰年(包含2月29日)的时间段也会自动正确计算,无需手动核对闰年天数。
- 即使不小心把结束日期填得比开始日期早,工具也会自动交换两个日期进行计算,并显示提示说明,无需手动修正。
常见问题
年龄计算工具专门用于根据出生日期计算当前的年龄。而本工具是通用的日期间隔计算器,可以自由指定任意的开始日期和结束日期,用于计算除年龄以外的任何时间跨度,例如距离活动的天数、项目工期等。
时间计算工具处理的是"一天之内"的时分秒加减运算(例如给9:30加上2小时15分钟),而本工具处理的是日历上"日期与日期"之间的间隔(以年、月、周、日为单位)。如果需要不足一天的精确时间计算,请使用时间计算工具。
不会报错。工具会在内部自动交换两个日期,按绝对值计算间隔,并显示"已自动交换日期"的提示,因此即使不确定哪个日期在前也可以放心使用。
可以。得益于JavaScript原生的日期运算能力,包含2月29日的时间段也能准确计算出天数、月数和年数,无需手动确认是否涉及闰年。
本工具并非简单地用总天数除以30,而是按照年、月、日的顺序依次在日历上做减法,当天数不够减时就向结束月份的上一个月借一个月的最后一天。这样就能得到充分考虑每月实际天数差异的准确结果。
闲话 ― 手动计算天数时容易踩的坑
手动估算两个日期之间的间隔时,很多人会把一个月简单地当作30天来概算。但实际上每个月的天数在28天到31天之间不等,例如把1月15日到3月20日估算为"64天÷30≈2.1个月",与按日历精确计算得出的"2个月5天"之间可能存在偏差——而这种偏差在涉及合同期限或账单到期日的判断时可能会造成误解。本工具直接比较Date对象的年、月、日字段,因此始终能返回符合日历规则的准确结果。
闰年的判定规则并不只是"每4年一次"这么简单。按照格里高利历的闰年规则,能被4整除的年份是闰年,但能被100整除的年份则是平年,除非该年份同时也能被400整除。例如2000年是闰年,而1900年和2100年则不是。这一例外规则已内置于JavaScript的标准日期处理机制中,本工具也直接沿用了这一行为。
计算"经过天数"时存在两种常见的计数方式:一种是把首尾两个日期都计算在内的"含首含尾"计数(例如1月1日到1月10日算作"10天"),另一种是只看差值的"单纯天数差"(算作"9天")。本工具采用后者,即单纯的天数差,如果希望将开始日期计为第1天,只需在显示结果上加1即可。