两个日期相差多少天?自然日、周与自然月怎么算
在工具里选好开始和结束日期,就能看到相差的自然日数、折算周数,以及跨越了几个完整自然月。手算只要记住一条:一个月不是 30 天,跨月要按真实日历逐月数。
什么时候真的需要算日期差
合同履约期、账单周期、请假天数、倒计时、年龄和纪念日,这些场景关心的是日期之间的间隔,而不是某个时刻。
只要答案要写进合同、发票、排期表或请假单,就值得用统一的日期口径算一遍,而不是凭「大概一个月」估。
- 合同写「30 个自然日」还是「30 个工作日」,答案会差出周末和法定节假日。
- 范围跨年、包含闰日(2 月 29 日),或者跨夏令时切换。
- 需要决定第一天和最后一天是否都算进去。
怎么用才不出错
单纯的日数差是「结束日 − 开始日」。只有定义包含首尾两天时才加 1:2 月 1 日到 2 月 2 日是相差 1 天,但按「头尾都算」是 2 天。
不要用「天数 ÷ 30」换算月数。31 天的月份、2 月、以及跨好几个月的情况都会偏。正确做法是在日历上数完整的自然月,剩下的零头天数单独处理。
- 周数 = 天数 ÷ 7,余数就是剩下的天数,例如 4 周零 3 天。
- 两个日期要放在同一时区。夏令时切换那天只有 23 或 25 小时,会影响按小时累计,但不影响按自然日计算。
- 工作日要排除周末和当地法定节假日,普通日期差不会自动识别。
- 年龄和纪念日要按月日比较,而不是数天数。
局限与替代
这是日历计算,不是排程系统。需要工作日、节假日日历、发薪日、还款日、时区转换或农历生日时,请用专门工具。
涉及合同和法律期限时,文字定义优先于计算器:先确认写的是自然日还是工作日,以及第一天是否计入。
- 工作日计算需要当地的节假日安排,各地调休不同,不能靠固定规则推算。
- 带时刻的时间差(几小时几分钟)要按时区换算,和纯日期差是两件事。
常见问题
为什么日期差除以 30 不准?
因为每个月是 28 到 31 天。除以 30 每过一个月就会偏一两天,一年下来可能偏出一周以上。应当按日历数完整自然月,剩下的天数单独算。
第一天和最后一天都要算吗?
看你的定义。「结束日 − 开始日」得到的是间隔;如果首尾都计入,再加 1。数字要写进合同或账单时,务必注明用的是哪种口径。
闰年和夏令时会影响结果吗?
闰日会让自然日多一天,日数计算已经包含。夏令时改变的是一天的时长,只影响按小时的统计,不影响自然日差。
相关工具:日期差