← 退出

日期计算

相差天数 / 日期加减

结果
0 天 ≈ 0.0 周 ≈ 0.00 年

关于日期计算

这个日期计算器有两个功能:一是算出两个日期之间相差多少天(同时给出约合多少周、多少年),二是在某个基准日期上加上或减去若干天,得到新的日期和对应的星期。它只按「天」计算,不区分工作日和节假日,也不会计算「几年几个月几天」这种日历式的间隔。所有计算都在你的浏览器里完成。

操作步骤

  1. 页面顶部有两个选项按钮:「相差天数」和「日期加减」。先选择需要的模式。
  2. 「相差天数」模式:在「起始日期」和「结束日期」两个日期框里分别选好日期(默认都是今天),下方「结果」会显示形如「365 天 ≈ 52.1 周 ≈ 1.00 年」的内容。
  3. 「日期加减」模式:在「基准日期」选一个日期,在「天数」里填数字(默认 7),再在「操作」下拉框里选「加」或「减」,「结果日期」会显示新日期和星期几,例如「2026-03-02(星期一)」这种格式。
  4. 改动任何一个输入,结果都会立刻刷新,不需要点击确认按钮。

计算示例(由工具自身的逻辑实际算出)

相差天数:2024-01-01 到 2024-12-31 相差 365 天,约合 52.1 周、1.00 年(2024 年是闰年,全年共 366 天,因为这里只算到 12 月 31 日,所以是 365 天);2025-01-01 到 2026-01-01 同样是 365 天;2024-02-28 到 2024-03-01 是 2 天,约 0.3 周、0.01 年。把起止日期对调,结果不变。日期加减:2026-01-31 加 30 天得到 2026-03-02(星期一);2024-02-28 加 2 天得到 2024-03-01(星期五),中间经过了闰日 2 月 29 日;2025-03-01 减 1 天得到 2025-02-28(星期五);2026-10-13 加 100 天得到 2027-01-21(星期四)。

支持范围与已知限制

  • 「相差天数」计算的是两个日期的天数差,不包含起始当天。比如 2024-02-28 到 2024-03-01 算作 2 天。如果你需要「包含首尾两天」的天数,请在结果上自行加 1。
  • 天数结果永远是正数(取绝对值);当结束日期早于起始日期时,结果后会附加「(结束早于起始)」提示。
  • 「约合多少年」是用总天数除以 365.25 得出的近似值,「约合多少周」是除以 7,保留 1 位小数;这两个数字只是方便估算,不是严格的日历年月差。
  • 不区分周末、法定节假日或调休,也没有「只算工作日」的选项。
  • 「天数」输入框只接受整数:填入 2.5 会显示「请输入有效数值」;留空按 0 处理;填负数时,「加」会往过去走,「减」会往未来走。
  • 日期框清空,或者浏览器不支持日期选择器而手输了格式不对的内容时,结果区会显示红色提示「请选择有效日期」或「请输入有效数值」。
  • 计算基于公历(格里高利历),不支持农历、不支持不同时区之间的换算。

常见问题:算出来的天数为什么比我数的少一天?

因为工具计算的是「两个日期之间隔了几天」,而不是「包含几个日历日」。比如 1 号到 2 号,相差 1 天,但覆盖了 2 个日历日。做请假天数、入住天数、倒计时等场景时,先想清楚是否算入起始当天或结束当天,再决定要不要加 1。

常见问题:跨月、跨闰年是否准确?

准确。工具使用浏览器自带的日期对象按日历推算,二月的天数和闰年都会自动处理,例如 2024-02-28 加 2 天落在 2024-03-01,正好经过 2 月 29 日。它还刻意避开了按世界协调时间解析日期字符串的写法,以免在不同时区的用户那里出现差一天的情况。

常见问题:能直接算出「几年几个月几天」吗?

目前不能。结果只给出总天数,以及按 365.25 天一年折算的近似年数。如果你要算年龄、工龄这类需要精确到年月日的间隔,需要按生日的月份和日期自行判断是否已满一岁,本工具的「约合年数」不适合直接作为周岁。

常见问题:倒推日期时星期是怎么来的?

星期由新日期本身决定,与你输入的天数无关。工具先算出结果日期,再用浏览器日期对象读取这一天是星期几,并显示在括号里。这在英文界面下会显示英文星期名。

隐私与处理方式

日期和天数只在你的浏览器里用于计算,不会被发送到服务器,也不会被保存。工具会读取你设备当前的日期来填充默认值(三个日期框默认都是今天),这个读取同样只发生在本地。刷新页面后输入会恢复默认。