跳到主要内容
Tooletto

给日期加上或减去天数

日期计算器 的预设方案

找出从现在起(或之前)若干天、周、月或年之后的日期。适合截止日期、续约日期、通知期限和交货预估。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何日期计算器

  1. 1

    选择一种模式

    两个日期之间的间隔,或者在一个日期上做加减。

  2. 2

    输入日期

    结果随输入即时更新——没有提交按钮。

  3. 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。