什么是日期计算器?
日期计算器接受一个起始日期,并按以年、月、周和天衡量的跨度将其向前或向后移动。它返回得到的日历日期,以及该日期所在的星期几。
手动计算日期出奇地容易出错:月份长度不同,闰年每四年增加一天,而周会跨越月份边界。这个计算器替你完成这些记账工作,尊重真实的日历,因此结果始终是一个有效的日期。
每当你需要把一个日期投射到未来或追溯到过去时,它都很有用:交付窗口、合同续签、退货截止日期,或者只是”从今天起 90 天后是哪一天?“。
计算器如何工作
计算器需要三样东西:
- 起始日期 — 你开始计算的日期。
- 运算 — 是加上跨度(向前移动)还是减去跨度(向后移动)。
- 跨度 — 要应用的年、月、周和天的数量。
各单位按从大到小的顺序应用:先是年,然后是月,然后是周,然后是天。基于日历进行处理意味着结果会尊重月份长度和闰年。例如,把一个月加到 1 月 31 日会落在 2 月的最后一天,而不是越过到 3 月。
当一次移动落在一个不存在的日期上时——例如从闰年的 2 月 29 日减去一年——结果会被夹回到该月的最后一个有效日期(2 月 28 日)。
公式
由于月份和年份的长度各不相同,日历移动并不是单一的固定天数。我们将其表示为应用到起始日期 上的一系列具有日历意识的步骤:
其中:
- = 年数
- = 月数
- = 周数
- = 天数
加法时符号为正,减法时为负。周和天是精确的:
然而,年和月取决于在日历中的位置,这就是为什么它们是逐步应用的,而不是换算成一个统一的天数。
示例
示例 1:加天数
从 2024-01-01 开始,加上 100 天。
结果是 2024-04-10,一个星期三。
示例 2:加周数
从 2024-01-01 开始,加上 3 周。
结果是 2024-01-22,一个星期一。
示例 3:加年数
从 2024-06-15 开始,加上 5 年。
结果是 2029-06-15,一个星期五。
示例 4:减天数
从 2024-04-10 开始,减去 100 天。
结果是 2024-01-01,与示例 1 中用作起始的日期相同。
实际用途
- 截止日期和到期日 — 向前数固定的天数以确定某事何时到期,或向后数以知道何时开始。
- 订阅和合同 — 把以月或年衡量的期限加到开始日期上,以求出续签日期。
- 退货和保修 — 把 30 天的退货窗口或多年的保修期加到购买日期上。
- 规划 — 以周为单位向前投射里程碑,或以年为单位向后追溯纪念日。
常见问题
计算器处理闰年吗?
是的。由于移动是基于真实日历应用的,在 2024-02-28(闰年)加上 2 天会落在 2024-03-01,而在非闰年则会落在 2024-03-02。
当某个月太短时会发生什么?
结果会被夹到目标月份的最后一个有效日期。把一个月加到 2024 年 1 月 31 日会得到 2024 年 2 月 29 日(那个闰年 2 月的最后一天),而不是一个无效的 3 月日期。
我可以减去一个跨度,而不只是加上它吗?
可以。选择减运算,跨度会向后应用,把结果放到时间上更早的位置。
这与加时间计算器有何不同?
加时间计算器按小时、分钟和秒移动一个日期和时间。这个计算器在整个日历日的层级上工作,因此它按年、月、周和天移动,并报告得到的日期及其星期几。