跳到主要内容
CalcMax

年龄计算器

结果

36

年

个月
9
天
2 天
总月数
441
总周数
1,917.7 周
总天数
13,424 天
总秒数
1,159,833,600 秒

年龄计算器按出生日期算出周岁:满几年、几个月、几天,再把同一个跨度折算成总月数、总周数、总天数和总秒数。这里算的是周岁,也就是出生时为 0 岁、每过一个生日长一岁的那种算法,与按正月初一长一岁的虚岁不是同一个数,同一人两者可能差一到三岁。今天是几号由页面自己读,不用你填。所有数字都来自同一个跨度,所以月、周、天、秒几项加起来一定等于整体。

公式

周岁 = 今天减出生日期,拆成满几年、满几个月与剩余天数;总月数、总周数、总天数与总秒数都由同一个跨度折算,不另行计数

birthDate
出生日期。可以是公元 1 年以来的任意真实日期,但不能晚于今天
years
满几岁——主结果,也是填表时通常要填的那个数,也就是周岁
months
满几年之后剩余的整月数,0 到 11
days
满几个月之后剩余的天数,0 到 30,不是两个日号直接相减
totalMonths
整个跨度合多少个月;36 岁 0 个月就是 432 个月
totalWeeks
跨度合多少周,保留一位小数
totalDays
一共活了多少天,中间的闰日都算进去
totalSeconds
总天数乘以 86400,用来回答「活了多少秒」这类纪念性问题

凡是答案要是年龄而不是天数的场合都用它:需要填年月日的表格、儿童或老人的体检节点、写成年龄条件的签证与退休规定、保险报价。这些场合要的正是年月日那一行,而总天数那一行适合算「活了多少天」或者对比一个用天数写的门槛。它不会告诉你未来的事——出生日期晚于今天就没有年龄可算,页面会直接报错,而不是给一个负数。想知道虚岁,或者想知道距离下一个生日还有多久,都不是这一页,前者要按农历另算,后者看生日计算器。

算例

  1. 1990 年 1 月 1 日出生,2026 年 1 月 15 日读

    1. 1990 年 1 月 1 日到 2026 年 1 月 1 日是满 36 年,所以 years 是 36
    2. 下一个整月节点是 2026 年 2 月 1 日,还没到,所以 months 是 0
    3. 2026 年 1 月 15 日离 1 月 1 日过了 14 天,所以 days 是 14
    4. 满 36 年是 36 × 12 = 432 个月,没有多余的整月
    5. 13163 天除以 7 是 1880.43,保留一位小数是 1880.4 周
    6. 13163 × 86400 = 1137283200 秒

    生日在 1 月初会让这一屏看起来有点怪——36 岁 14 天却写着 0 个月。这是对的:months 只数满月,2 月 1 日还没到,那 14 天在 days 那一行里,一天没少。这也是周岁与虚岁最容易分岔的地方:按虚岁,这人在 2026 年春节已经又长了一岁。

  2. 闰日出生:2000 年 2 月 29 日

    1. 2000 年 2 月 29 日到 2026 年 1 月 15 日一共 9452 天
    2. 折成整月是 310 个月:从 2000 年 2 月 29 日往后走 310 个月落在 2025 年 12 月 29 日,走 311 个月就越过了 2026 年 1 月 15 日
    3. 310 个月是 25 年(300 个月)加剩余的 10 个月
    4. 2025 年 12 月 29 日到 2026 年 1 月 15 日是 17 天,这就是 days
    5. 9452 天除以 7 是 1350.29,保留一位小数是 1350.3 周
    6. 9452 × 86400 = 816652800 秒

    2 月 29 日出生是区分「算对了」与「看着像对的」那种输入。先取年、再取月的写法会把锚点落在 12 月 28 日,得出 18 天;而从 2 月 29 日起算的 310 个整月落在 12 月 29 日。只差一天,也只有闰日出生的人能把它试出来。另外,闰日出生的人虚岁与周岁差得更多,因为虚岁不认生日,只认春节。

局限

「今天」取的是 UTC 日历日,不是本机时区的那一天,所以在东八区,凌晨那几小时算出来的周岁可能比你墙上日历晚一天。出生日期必须是真实存在的日期,填 2 月 30 日会被直接拒绝,而不是顺延到 3 月。出生日期晚于今天会报错而不是给负数,因为年龄是已经活过的时间。months 只数满月,所以一个月的多数日子里它都读 0,那几天要看 days。本页只算周岁,虚岁要按农历另算,页面读不到农历。

常见问题

周岁怎么算?和虚岁差多少?
周岁从出生那天算 0 岁,每过一个生日长一岁,也就是活满了多少个整年。虚岁从出生算 1 岁,每过一个正月初一长一岁,不认生日。所以同一个人的虚岁通常比周岁大 1 到 2 岁,个别人能大 3 岁,差额取决于生日在春节前还是春节后。本页给的是周岁。
为什么我明明过了生日,months 还是 0?
因为 months 只数满月,一个整月走完才算。2026 年 1 月 1 日出生满 36 年的人,在 1 月 15 日读到的就是 0 个月加 14 天,那 14 天在 days 那一行里。把月折算成小数会让三项加起来对不上总数,所以这里不折。
活了多少天怎么算?
看总天数那一行。1990 年 1 月 1 日出生、2026 年 1 月 15 日读,是 13163 天。这个数把中间每一个闰日都算进去了,所以比年数乘 365 要大。把它乘以 86400 就是总秒数,那一行是精确值,不是估算。
给小孩填表该用月龄还是岁数?
两岁以前建议用月龄,因为差别在临床上算数:14 个月和 23 个月在整岁上都是 1 岁,实际差了九个月。上面那个例子里的 310 个月,换成岁数就是 25 岁 10 个月。满两岁以后按岁加月写就够用了。
出生日期填成未来的日期会怎样?
页面会报错,而不是给一个负数,因为年龄是已经活过的时间。如果你是在倒计一个还没到的日子,比如预产期,那要用生日计算器,它接受未来的日期并往回数。在这里填出未来的日期,通常是年份打错了。

参考资料

相关计算器