日期加减计算器

从任意日期加减天数、周数、月数或年数,即时计算未来或过去的日期。计算器以完整格式显示结果日期、星期几、ISO 日期字符串和从起始日起的总天数,自动处理闰年和月份长度变化。

常见问题

如何给日期增加天数?

给日期增加天数时,输入起始日期,填写要增加的天数,选择「天」作为单位,然后点击增加。计算器即时显示结果日期和星期几。例如,在 2026 年 1 月 1 日基础上增加 30 天,得到 2026 年 1 月 31 日(星期六)。

从今天起 30 天是哪天?

使用日期加减计算器:将起始日期设为今天,在数量字段输入 30,选择天,然后点击增加。结果会显示从现在起 30 天后的确切日期和星期几。

如何从日期中减去天数?

输入起始日期,填写要减去的天数,选择「天」作为单位,然后点击减去。计算器会准确找到过去的日期,考虑各月天数变化和闰年。

在 1 月 31 日基础上增加 1 个月会发生什么?

在 1 月 31 日基础上增加 1 个月会落在 2 月 31 日,但这个日期不存在。计算器使用 JavaScript 原生日期处理,会将溢出滚动到下个月——因此 1 月 31 日 + 1 个月变为 3 月 3 日(闰年则为 3 月 2 日)。

如何查找从现在起 90 天后的日期?

将起始日期设为今天的日期,在数量字段输入 90,从单位下拉菜单选择天,然后点击增加。计算器会考虑各月天数和闰年,给出从现在起正好 90 个日历天后的准确日期。

增加天数和增加月份有什么区别?

增加天数始终将日历推进固定天数(如 +30 天总是 30 天)。增加月份按日历月份推进,各月长度不同(28-31 天)。在 1 月 15 日增加 1 个月得到 2 月 15 日,但增加 31 天只有在 1 月(31 天的月份)时才得到 2 月 15 日。

给日期增加年份时如何处理闰年?

给日期增加年份时,计算器会自动考虑闰年。唯一的边界情况是 2 月 29 日(闰日):在 2024 年 2 月 29 日基础上增加 1 年会落在 2025 年 2 月 29 日,但 2025 年不是闰年,因此结果为 2025 年 3 月 1 日。

能通过减去来计算过去的日期吗?

可以。选择减去,输入数量和单位,计算器就会找到过去的日期。例如,从 2026 年 12 月 31 日减去 6 个月得到 2026 年 6 月 30 日。可以减去天、周、月或年。

什么是日期加减计算器?

日期加减计算器可让你快速找到未来或过去的日期,方法是在任意起始日期的基础上加减指定天数、周数、月数或年数。无论你需要计算 90 天后的项目截止日期、找出某个周年纪念日前 6 个月的日期,还是推算从今天起 52 周后是哪一天,这个工具都能即时给出答案,并附带星期几和 ISO 日期字符串。

如何给日期增加天数

若要手动给日期增加天数,从所选日期出发,按日历向前计数,同时考虑各月天数的差异以及是否为闰年。

  1. 在上方日期选择器中输入起始日期
  2. 输入要增加的天数(或周数、月数、年数)
  3. 从下拉菜单中选择作为单位
  4. 点击增加计算未来日期
  5. 结果显示完整日期、星期几和 ISO 格式

示例: 在 2026 年 1 月 20 日基础上增加 45 天,即从 1 月剩余 11 天、2 月 28 天(2026 年非闰年)再加 3 月的 6 天,得到 2026 年 3 月 6 日(星期五)。

月份增加的边界情况

给日期增加月份比增加天数更复杂,因为各月天数不同。最常见的边界情况是月份溢出:在 1 月 31 日基础上增加 1 个月会落在 2 月 31 日,但该日期不存在。JavaScript 内置的 Date 对象会将溢出滚动到下个月——因此 1 月 31 日 + 1 个月变为 3 月 3 日(闰年则为 3 月 2 日)。

起始日期+ 月数结果
2026 年 1 月 31 日+12026 年 3 月 3 日(溢出)
2024 年 1 月 31 日+12024 年 3 月 2 日(闰年溢出)
2026 年 1 月 30 日+12026 年 3 月 2 日(2 月仅 28 天)
2026 年 1 月 15 日+12026 年 2 月 15 日(无溢出)

如果你需要始终落在目标月份的最后一天(例如 1 月 31 日 + 1 个月 = 2 月 28 日),则需要自定义截断函数。本计算器使用 JavaScript 原生溢出行为,这是日期库的通用标准。

闰年处理

闰年有 366 天,其中 2 月包含 29 天而非 28 天。给日期增加天数、周数或年数时,计算器会自动考虑闰年,确保结果始终正确。

  • 能被 4 整除的年份是闰年(如 2024、2028 年)
  • 整百年(能被 100 整除)不是闰年,例如 1900、2100 年
  • 例外:能被 400 整除的年份闰年,例如 2000、2400 年

闰年示例: 在 2024 年 2 月 29 日(闰日)基础上增加 1 年,通常会落在 2025 年 2 月 29 日,但 2025 年不是闰年,因此 JavaScript 滚动至 2025 年 3 月 1 日。

常见使用场景

使用场景示例
项目截止日期今天 + 90 天
保修到期日购买日期 + 1 年
试用期结束注册日期 + 30 天
合同通知期今天 + 2 周
复诊日期就诊日期 + 6 周
订阅续费日开始日期 + 1 个月
回溯过去日期今天 - 6 个月

计算器的工作原理

计算器使用 JavaScript 原生 Date 对象进行所有运算:

  • 天: 调用 setDate(getDate() + n),自动跨月和跨年滚动
  • 周: 将周数乘以 7,再使用相同的天数偏移逻辑
  • 月: 调用 setMonth(getMonth() + n),原生处理短月份的溢出
  • 年: 调用 setFullYear(getFullYear() + n),处理 2 月 29 日的闰日溢出

"距起始日天数"通过将结果日期与起始日期之间的毫秒差除以 86,400,000(每天毫秒数)计算得出。

相关工具