日历工作台

从日期中减去月份

按完整日历月份向前推算日期,并在目标月份没有对应日期时取该月最后一天。

从日期中减去月份: 通过向前推算指定的完整日历月数,找出更早的日期。如果更早的月份包含原始日期中的日号,就保留该日号;如有必要,则缩短为该月的最后一天。这样可以从某个里程碑日期向前推算,而不必把每个月都视为固定的天数间隔。 完全在浏览器中本地运行,文件不会上传到服务器。

类别
计算器
使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
TOEA / 日历工具引擎 · 仅在浏览器中运行
输入表 / 01

日历值

值会保留在此设备上。更改输入值后请重新计算。

结果表 / 02

结果日期

—

减去的月份数
—
计算公式结果日期 = 日期 − 整数月数;日 = min(原始日,目标月份的最后一天)
假设 / 使用前请阅读
  1. 日期是UTC午夜的日历日期;不会应用本地时区或夏令时调整。
  2. 结果仅用于规划。不会推断公共假日、特定地区的工作规则或公司政策。
  3. 月份计算会将无效的目标日期限制为有效日期:3月31日减去1个月后为2月28日(闰年为2月29日)。

向前推算月份与三月示例

取原始年份Y、月份M和日期D,其中M的范围为1至12,并设N为非负的月份数。目标月份索引I = 12Y + (M − 1) − N。将I转换为对应的年份和月份,然后选择目标日期min(D, L),其中L是目标月份的长度。跨越年份边界属于同一计算过程。

对于原始日期2025-03-31和N = 1,目标日期位于2025年2月。该月有L = 28天,因此min(31, 28) = 28。结果为2025-02-28,并显示已减去1个月。在此情况下,虽然输入的是1个月,但日历间隔为31天。

使用更早日期作为规划基准

2月的长度遵循美国海军天文台所说明的格里高利历闰年规则(https://aa.usno.navy.mil/faq/leap_years)。工具会选择有效的更早日期;不会生成2月30日,也不会将多出的日期带入3月。

生成多个回溯日期时,请始终将原始里程碑作为基准。若从前一个结果反复减去1个月,缩短后的日期可能会逐步延续。该字段接受0,这会保留输入的里程碑日期,但不接受负数或小数月份数。工具不会对更早日期进行周末调整或营业时间检查,因此在安排准备工作前,请根据实际日程进行确认。

使用方法

  1. 输入要从中往前推算的里程碑日期。
  2. 选择要减去的非负整数月数。
  3. 计算并查看更早的日期,尤其要注意原始日期接近月末的情况。

隐私与限制

日期、时间和结果都会留在浏览器中。不会上传任何输入内容。

相关工具

常见问题

如果更早的月份没有31日,会怎样?

结果会使用更早月份中有效的最后日期。因此,从3月31日向前推算一个月时,会得到2月28日或2月29日,具体取决于年份。

再加上相同的月份数后,会恢复原始日期吗?

如果日期在月末被缩短,可能不会。返回的日期不再记录其日号原本是否更大,因此反向推算时可能会保留缩短后的日号。

减去月份后,里程碑日期的星期几会保持不变吗?

不会。此换算会尽可能保留日号,而不是星期几。如果要得到星期几相同的更早日期,请改为减去完整周数。

免费工具·使用在浏览器中次·无需账户