日期加减计算器
从任意日期加减天数、周数、月数或年数,即时计算未来或过去的日期。计算器以完整格式显示结果日期、星期几、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 日期字符串。
如何给日期增加天数
若要手动给日期增加天数,从所选日期出发,按日历向前计数,同时考虑各月天数的差异以及是否为闰年。
- 在上方日期选择器中输入起始日期
- 输入要增加的天数(或周数、月数、年数)
- 从下拉菜单中选择天作为单位
- 点击增加计算未来日期
- 结果显示完整日期、星期几和 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 日 | +1 | 2026 年 3 月 3 日(溢出) |
| 2024 年 1 月 31 日 | +1 | 2024 年 3 月 2 日(闰年溢出) |
| 2026 年 1 月 30 日 | +1 | 2026 年 3 月 2 日(2 月仅 28 天) |
| 2026 年 1 月 15 日 | +1 | 2026 年 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(每天毫秒数)计算得出。