关于日期计算
日期计算的难点不在加减本身,而在跨月、跨年和边界处理。给 2024-01-31 加一个月,按自然月顺延是 2 月 31 日,这个日期并不存在,工程上通常截断到当月最后一天 2 月 29 日(2024 是闰年),而按固定 30 天滚动则得到 3 月 1 日,两种口径结果差两天。算两个日期相差多少天时,是否包含首尾两天会造成 ±1 天的差异,请假天数、项目工期、账期对这一点很敏感。闰年规则也不是能被 4 整除这么简单:能被 4 整除且不能被 100 整除,或能被 400 整除才是闰年,所以 1900 年不是闰年、2000 年是。
日期计算怎么用
- 选择日期加减或日期相差两种模式,这两种模式的输入项不一样。
- 在加减模式下填起始日期,并输入要加或减的数值。
- 指定单位(天/周/月/年),跨月与跨年的进位按自然月处理而非固定天数。
- 在相差模式下填两个日期,读取相差的天数、周数以及年月日的组合结果。
- 核对结果口径:确认是否包含首尾两端,需要时手动加减 1 天。
使用提示
- 加一个月时若目标月份没有对应日期,按截断处理(1 月 31 日加一月得 2 月 28/29 日),与表格软件 EDATE 的行为一致,而不是顺延到 3 月 3 日。
- 相差天数默认按结束日减开始日计算,同一天相减是 0 天;要按含头含尾的口径(如住院天数、住宿晚数)统计时,把结果再加 1。
- 日期按本地时区的零点解析,不会被夏令时切换少算一天;但把两个不同时区的同一时刻当同一日期比较时,仍可能差一天。
日期计算常见问题
2024 年 2 月有多少天
2024 年是闰年,2 月有 29 天,全年 366 天。判定规则为能被 4 整除且不能被 100 整除,或能被 400 整除。2024 符合前者,1900 年因为能被 100 整除又不是 400 的倍数而不是闰年,2000 年是闰年。
两个日期相差多少天怎么算
把两个日期都按本地时间零点解析后相减,再除以 86400 秒取整。关键是确认口径:3 月 1 日到 3 月 3 日,端点相减是 2 天,含头含尾算 3 天。跨年相减同样正确,因为闰年已经体现在日历里,不用额外补天数。
日期加 30 天和加一个月一样吗
不一样。加一个月按自然月顺延,1 月 15 日加一月是 2 月 15 日,遇到月末则可能只落到 28 或 29 日;加 30 天是固定天数滚动,1 月 15 日加 30 天是 2 月 14 日。合同账期写一个月还是 30 天,最终日期会差一到两天。
为什么算出来的天数会差一天
多数是含头含尾口径不同,或者输入日期带了时分秒,相减后不足整数天被直接截断。另外跨时区把同一时刻当同一日期比较也会偏一天。把两个日期都规范成本地零点并明确是否含首尾,结果就唯一了。