📅 日期计算器

日期间隔 · 日期推算 · 年龄周岁

这个工具用来干什么?

  1. 上面一段算两个日期相差多少天,同时拆成年月日、周和天,并数出工作日与周末。
  2. 中间按基准日期加减年、月、周、天,得到新日期和星期。
  3. 下面按出生日期算周岁、已出生天数,以及下次生日还有多久。

日期间隔

选好开始和结束日期,这里出结果

日期推算

在基准日期上往后或往前加减
年
个月
周
天
选好基准日期和加减数量,这里出结果

年龄与生日

填上出生日期,这里出结果

日期的算法与边界

公历按 UTC 日序相减,不受时区和夏令时影响,所以「相差多少天」不会因为跨时区半夜多出或少掉一天。相差天数是不含开始日、含结束日的口径:11 月 1 日到 11 月 2 日算 1 天,同一天算 0 天;含首尾的天数会另给一格,同一天就是 1 天。

相差天数怎么拆成年月日?

先找「从开始日期往后加满几个月还不超过结束日期」的最大整月数,余下的天数就是零头。按月加减时遇到月末会自动收拢:1 月 31 日加一个月是 2 月 28 日(闰年 29 日),3 月 31 日往前一个月是 2 月的最后一天。这样拆分和日历上数「满几年几个月零几天」一致。日期推算也是这个顺序:先加年月,再加周和天。

工作日算不算法定节假日?

不算,工作日只按星期判断,周一至周五算工作日,周六周日算周末,不识别法定节假日和调休。所以春节、国庆那一周这里仍按普通星期算,做排期时要把假期另外扣掉。工作日和周末都是含首尾的口径。

2 月 29 日出生怎么算周岁?

按满周年计算,平年没有 2 月 29 日,就把 2 月 28 日当作生日那天,于是 2 月 28 日当天满周岁,下次生日也落在 2 月 28 日。如果习惯按 3 月 1 日过生日,用这里的周岁结果要自己往后挪一天。

能算多远?

可选范围是 1900 年 1 月 1 日到 2100 年 12 月 31 日,推算结果超出这个范围时会提示,不给出不可靠的日期。所有计算在浏览器本地完成,输入的日期不会发到服务器。