工具
指南

年龄计算器

生活

根据出生日期计算精确的年、月、日年龄,以及累计天数、出生时是星期几和距下次生日的天数。所有日期运算使用 UTC,结果在任何时区都一致。

100% 客户端 无后端
—
    本页内容

    什么是年龄计算器?#

    它做的不仅仅是把出生年份减一下。给定出生日期和一个参照日期,它能算出你嘴上会说的那个精确年龄——“26 岁 7 个月 6 天”——外加填表、闲聊时常被问到的那些总数:你已经活了多少天、多少周、多少个月、出生那天是星期几,以及离下一个生日还有多久。

    难点在于要算得对,因为日历本身就很别扭:每月天数不同,闰年每四年多插一天(还有世纪的例外),而 2 月 29 日出生的人在四年里有三年根本没有这个日子。本工具用日历分解来处理这一切,不是简单地拿 年 × 365 去乘——所以天数是对的,2 月 29 日出生的人也能得到合理的”下个生日”答案。

    怎么使用#

    1. 填 出生日期。这是个日期选择框,可以直接敲 2000-01-01,也可以从弹层里挑。
    2. 填 参照日期——也就是”算到哪天为止”。默认是今天;改过之后想还原,点 今天 按钮即可。
    3. 结果卡片会自动填好:
      • 顶部大字显示 岁 / 月 / 天 分解。
      • 详情列表有活过的 总天数、总周数、总月数。
      • 你出生那天是星期几。
      • 下一个生日的日期,以及距离它还有多少天(如果今天就是生日,会提示”今天”)。
    4. 点 清除 重置两个日期。

    主要特性#

    • 精确的日历分解,不是近似——年/月/天是能恰好加满所经过时间的最大值,跟人报年龄的方式一致。
    • 总数准确。 总天数会数清范围内的每一个闰日;总周数是它除以 7 取整;总月数是 年 × 12 + 月。
    • 认得闰日。 2 月 29 日出生的人,在非闰年里生日按 2 月 28 日处理,所以”下个生日倒计时”依然有数;到了真正的闰年,“今天是生日”会在 29 日那天触发。
    • 不受时区影响。 所有日期运算走 UTC,所以身处不同时区的两个人,看同一个出生日期会得到同一个年龄。
    • 100% 本地。 你的出生日期不离开浏览器。

    实例演示#

    出生日期 2000-01-01,参照日期 2026-08-07。结果卡片显示:

    字段数值
    年龄(大字)26 岁 7 个月 6 天
    已活总天数9,715
    总周数1,387
    总月数319
    出生那天星期六
    下一个生日2027-01-01(还有 147 天)

    有几点值得注意。总天数(9,715)不是 26 × 365——那只有 9,490。多出来的 225 天,一部分来自区间里的七个闰日(2000、2004、2008、2012、2016、2020、2024),另一部分是过了 2026 年生日之后又活的 7 个月零 6 天。这正说明为什么简单相乘是错的、日历分解才是必要的。

    出生日期 2000-01-01 是星期六——工具由历元推算出星期几,无需查找表。又因为参照日期(8 月 7 日)早已过了 1 月 1 日的生日,所以下一个生日滚到 2027 年,距今 147 天。

    常见问题#

    为什么总天数比 年 × 365 多?#

    因为有闰年。范围内的每一个 2 月 29 日都会多加一天,而一个四年段里通常有一个(能被 4 整除的年份,但不能被 400 整除的世纪年除外)。跨度 26 年,一般是 6 或 7 个额外日,再加上过了上个生日之后又活的月和天,凑成剩下的部分。工具是精确数出来的,不是估算。

    我出生在 2 月 29 日,非闰年怎么办?#

    工具在没有 2 月 29 日的年份,把你的生日按 2 月 28 日 处理——这是通行惯例。这样”下个生日倒计时”始终有数;到了真正的闰年,“今天是生日”会在 29 日那天触发。有些人喜欢在 3 月 1 日过,那是个人选择,不是算法问题。

    为什么工具用 UTC,而不是我的本地时间?#

    为的是无论在哪里打开页面,答案都一样。出生日期是个日历事实,不是个钟表事实:1 月 1 日出生,不该因为看的人在更早的时区就变成 12 月 31 日。按 UTC 天数运算,能让全世界的日历标签保持一致。

    “总月数”和大字里的”月”有什么区别?#

    大字里的”月”(“26 岁 7 个月 6 天”里的那个”7”)是扣掉整年之后剩下的——永远在 0 到 11 之间。总月数则是完整的计数 年 × 12 + 月(这里是 26 × 12 + 7 = 319),这是表单或医疗记录要你按月数报年龄时要的那个数。