给日期加上或减去天数
日期计算器 的预设方案
找出从现在起(或之前)若干天、周、月或年之后的日期。适合截止日期、续约日期、通知期限和交货预估。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何日期计算器
- 1
选择一种模式
两个日期之间的间隔,或者在一个日期上做加减。
- 2
输入日期
结果随输入即时更新——没有提交按钮。
- 3
切换到工作日模式
排除周末,这才是大多数截止日期实际计算的方式。
没有正确按日历逐步推算时,日期运算会在哪里悄悄出错
相当数量的手写日期计算——一个电子表格公式、一段简单脚本——通过简单地加上固定的秒数,或者天真地递增"日"这个字段、却不检查结果是否跨过了月末,来实现"加天数"这个操作,这两种方式都会在月份边界附近、尤其是 2 月前后,悄悄产出错误的日期。正确地加上一段时长,意味着真正按日历向前推进:识别出给 1 月 15 日加一个月得到 2 月 15 日,给 1 月 31 日加一个月落在 2 月的最后一天而不是溢出到 3 月,以及闰年会改变这个最后一天具体是哪一天。这恰恰是手写日期运算最常悄悄出错的那类边界情况,也正是这个工具专门被构建来正确处理的地方。
减去时间的原理完全相同,只是方向相反
关于加上一段时长的一切,对称地适用于减去一段时长——一个负数的天、周、月或年,用完全相同的、感知月份长度和闰年的逻辑向后走过日历,这一点很重要,原因和向前推算时完全一样:算出一个通知期限必须从哪天开始才能在指定日期到期,或者通过从一个已知截止日期往前数固定的时间间隔,确认某件事必须在哪一天之前发生。
常见问题
统计天数时会同时包含起始日和结束日吗?
普通的间隔计算是不包含端点的——从 1 号到 8 号是 7 天,因为经过了 7 个夜晚。结果还会同时显示包含端点的计数,这正是合同和通知期限里说"7 天以内"时通常的意思。
工作日是怎么统计的?
周六和周日会被排除。公共假期不会,因为它们因国家和地区而异——对于具有法律意义的截止日期,还应该核对你所在司法辖区的假期日历。
加一个月的时候,月末情况是怎么处理的?
给 1 月 31 日加一个月,得到的是 2 月 28 日(闰年是 29 日),而不是进位到 3 月。这是几乎所有日历系统采用的惯例,这也意味着先加一个月再减一个月,不一定能回到最初的日期。
闰年和时区会被正确处理吗?
闰年会——计算过程走的是真实的日历,而不是假设一年固定 365 天。日期被当作不带时间成分的本地日历日期处理,所以时区不会让结果偏移一天,而这正是那些把 ISO 字符串当作 UTC 解析的日期工具里常见的一个 bug。