跳到主要内容
1123.net
ZH
1123.net

搜索工具

在工具目录中筛选,全部在浏览器本地完成。

输入关键词即可筛选,按回车打开第一个结果。

日期计算器

这个计算器只处理完整的日历日期。你可以给某个日期加上或减去若干年、月、周、天,也可以测量两个日期之间的精确跨度;计算不涉及时区,也不会受夏令时影响。

所有数据都在你的浏览器本地处理,不会上传到我们的服务器。

请输入开始日期 日期和数值都有效后,结果会显示在这里。

如何使用这个工具

  1. 1 在工作区顶部选择“加一段时间”“减一段时间”或“计算日期间隔”,每种模式只显示它需要的输入项。
  2. 2 做加减时,填入开始日期,以及年、月、周、天中任意几项;留空的项按 0 计算。
  3. 3 计算差值时,填入两个日期;如果希望把较晚的日期也算作完整一天,请勾选“包含结束日期”。
  4. 4 查看结果日期和星期,或两个日期之间的年月日跨度与总计;点击“复制结果”可以复制完整的计算。

公式与计算逻辑

日期各部分的加减

结果 = 开始日期 + Y 年 + M 个月 + W 周 + D 天

先应用年和月,再应用周和天。目标月份天数不足时,日期会被截断到该月最后一天,而不会溢出到下个月。

两个日期之间的差值

差值 = 从开始日期到结束日期的整年、整月与整天的组合

计算器比较的是日历日期,因此会考虑每个月的长度和闰日。总天数和总周数单独统计,与年月日的拆分方式无关。

把结束日期计入

含结束日总天数 = 不含结束日总天数 + 1

勾选“包含结束日期”后,较晚的那个日期会被算作完整的一天。以 5 月 1 日的单日活动为例,不含结束日期是 0 天,含结束日期是 1 天。

示例演示

2024 年 1 月 31 日加一个月

某项按月续费从 2024 年 1 月 31 日开始。

  1. 先加月份:2 月 31 日并不存在
  2. 日期被截断到 2024 年 2 月 29 日
  3. 2024 年 2 月 29 日是星期四

下一次续费日期是 2024 年 2 月 29 日。月份不会被顺延到 3 月。

2024 年 1 月 1 日到 2024 年 3 月 1 日

在一个闰年里,测量 1 月初到 3 月初之间的跨度。

  1. 日历差:2 个月 0 天
  2. 总天数:60
  3. 总周数:8
  4. 含结束日总天数:61

因为 2024 年 2 月有 29 天,不含结束日期的差值是 60 天。把结束日期也算进去后,总天数变成 61 天。

边界情况与精度

月末截断

在 1 月 31 日上加一个月,得到的是 2 月的最后一天,而不是 3 月 2 日或 3 日。这条规则适用于每个月和每个闰年。

闰年

2 月 29 日只在闰年出现。在 2024 年 2 月 29 日上加一年,得到 2025 年 2 月 28 日;计算日期差值时,用的是每个月的实际天数。

结束日期早于开始日期

差值会按绝对跨度显示,并附一句提示。工具不会悄悄调换两个日期,也不会返回负数天数。

按日历日期计算,不看时间戳

一天中的具体时刻会被忽略。由于运算基于日历日期,夏令时切换不会让结果偏移一天。

常见问题

在 1 月 31 日上加一个月会得到什么? +

结果是 2 月的最后一天:平年是 2 月 28 日,闰年是 2 月 29 日。计算器会截断日期,而不会顺延到 3 月。

计算器会考虑时区吗? +

不会应用任何时区。你输入的是日历日期,计算器也只按日期比较,因此 UTC 偏移或夏令时都不会让结果发生位移。

“包含结束日期”会改变什么? +

它会在总天数上加一天,把较晚的日期当作完整的一天。年、月、日和总天数都会按多出的这一天重新计算。

除了相加,也可以做日期相减吗? +

可以。选择“减一段时间”,填入要减去的年、月、周、天即可。结果日期和星期会与相加时用同样的方式显示。

为什么 2024 年从 1 月 1 日到 3 月 1 日是 60 天? +

2024 年是闰年,2 月有 29 天。1 月有 31 天,所以从 1 月 1 日到 3 月 1 日一共是 31 + 29 = 60 天。

结束日期早于开始日期时会怎样? +

计算器会给出绝对差值,并提示结束日期更早。它不会返回一个容易误导的负数天数。