通过MCP连接 →

输入计算

数学公式

数学公式: 日期 ± 时间单位计算器
Show calculation steps (1)
  1. Month / quarter / year stepping

    Month / quarter / year stepping: 日期 ± 时间单位计算器

    For months, quarters and years the calculator steps whole calendar months and clamps the day to the last valid day of the target month.

广告

结果

Monday June 15, 2026 plus 180 days is
Saturday December 12, 2026
12/12/2026 · 346th Day of 2026
结果日期 12/12/2026
结果星期几 Saturday
结果当年第几天 346th Day of 2026
起始日期 Monday June 15, 2026
起始当年第几天 166th Day of 2026

这个计算器能做什么

日期加减计算器可以在任意起始日期上,加上或减去指定数量的天、周、月、季度或年。它会按你选择的格式给出推算后的日历日期,并同时显示起始日期和结果日期的星期几以及当年第几天。计算采用外推公历(proleptic Gregorian calendar),因此在全球任何地方结果都一致,不涉及任何国家的节假日或工作日规则。

如何使用

先输入起始日期(年、月、日),再选择一种日期格式(美式 m/d/yyyy、欧式 d-m-yyyy 或 ISO 标准 yyyy-mm-dd),它决定日期的显示方式;接着选择运算方式(加或减),填入数量,并指定单位类型。数量可以为零,也可以为负数。

计算原理

天和周采用精确的天数计算:先把日期转换为儒略日数(JDN),加上带正负号的偏移量(周数乘以 7),再转换回日历日期,过程中会自动正确处理 365 天和 366 天的年份。整体推算遵循下式:

$$\text{Result} = \text{Start Date} \;\pm\; n \times \text{Unit}$$

月、季度和年则按整月推进:先算出总月数,拆分为年和月,再把日期"夹"到该月的最后一个有效日,即 \(D_{result} = \min\big(D_{start},\; \text{daysInMonth}(Y_{result}, M_{result})\big)\);天和周则按 \(\text{JDN}_{result} = \text{JDN}_{start} + n_{days}\) 计算。举个例子,1 月 31 日减去一个月,结果是上个月的最后一天,而不会溢出到下个月。

Advertisement
显示开始日期的时间线,左侧用日历单位做减法,右侧做加法
增加或减少日历单位会使开始日期沿时间线向前或向后移动。

实例演示

起始日期为 2026 年 6 月 15 日(星期一,是 2026 年的第 166 天),加上 180 天。该日期的儒略日数为 2461577,加上 180 得到

$$\text{JDN}_{result} = 2461577 + 180 = 2461757$$

对应 2026 年 12 月 12 日——星期六,是 2026 年的第 346 天。因此结果显示为"星期六 2026 年 12 月 12 日 / 12/12/2026 / 2026 年第 346 天"。

用箭头连接的两个日历,显示开始日期移动到较晚月份的结果日期
实例:将开始日期移动若干单位后会落在新的日历日期和星期。

常见问题

为什么加一个月,日子有时会变?因为每个月的天数不同。在 1 月 31 日上加一个月时,会"夹"到下个月的最后一个有效日(2 月 28 日或 29 日)。

闰年是怎么处理的?天和周的计算按真实天数累加,所以会正确跨过闰日。在 2 月 29 日上加整年时,如果目标年份不是闰年,结果会落在 2 月 28 日。

它会计算工作日吗?不会——它只按纯日历单位计算,忽略周末和节假日。

最后更新: