周岁和虚岁怎么算:年龄计算的规则、边界与常见争议

「你多大了」这个问题在法律、医疗、入学报名里的答案往往不是同一个数。差别来自两套并行的算法:周岁按生日算,虚岁按农历新年算。搞清楚规则,才能解释为什么家里老人说的年龄和你身份证上的差两岁。

周岁:过了几次生日就是几岁

周岁的规则只有一句话 —— 每过一个生日加一岁,出生时是 0 岁。

所以今天的周岁 = 今天减出生日期,拆成「X 岁 Y 个月 Z 天」。拆的时候有个固定顺序:先扣掉整年,再在剩下的零头里扣整月,最后剩下的天数就是 Z。

举个例子,1990-06-15 出生的人:

今天 周岁拆解 说明
2026-06-15 36 岁 0 个月 0 天 正好过完第 36 个生日
2026-06-14 35 岁 11 个月 30 天 差一天满 36
2026-10-07 36 岁 3 个月 22 天 6-15 → 10-07

第二行最反直觉:差一天满 36 岁,很多人会写成「11 个月 31 天」或者干脆说「还差 1 天」。实际是 30 天,因为整月那一步停在 2026-05-15,从 5-15 数到 6-14 是 30 天(5 月有 31 天,15→31 是 16 天,再加 6 月的 14 天)。

月末出生的人要特别注意。 1 月 31 日出生的人,「加一个月」在日历上会溢出到 3 月 3 日左右(取决于 2 月的天数)。这不是算错,而是「一个月」本来就不是固定天数。不同工具在这里的处理可能差好几天,跨工具对数字前先确认口径。

虚岁:出生即 1 岁,过年长一岁

虚岁的规则是 出生时算 1 岁,每过一个农历新年加 1 岁。注意是农历新年,不是公历 1 月 1 日。

简化算法是 当前年份 − 出生年份 + 1。这个式子对大多数人是对的,但有两个已知偏差:

  • 农历新年一般在公历 1 月下旬到 2 月中旬之间。在农历新年之前,虚岁其实还没长,简化算法会多算 1 岁。
  • 反过来,农历年末出生的人,出生没几天就过了年,虚岁直接是 2 岁。

所以虚岁更适合当民俗说法,办手续一律以周岁为准。法律上的「年满 18 周岁」「法定退休年龄」全部指周岁。

闰年 2 月 29 日出生怎么算生日

这是个真问题:2 月 29 日每四年才出现一次。

常见做法有两种:

  1. 按 2 月 28 日过(部分国家和地区的法定口径)
  2. 滚到 3 月 1 日(编程语言 Date 的默认行为)

本工具用的是第 2 种 —— 因为它是 JavaScript Date 的既有语义,非闰年写 2 月 29 日 会自动变成 3 月 1 日。如果你所在地按 2 月 28 日计,倒计时的日期会差一天。

星座的分界点每年差一天

星座按公历日期查,但分界点不是每月 1 日。完整的分界是:

星座 起 止
水瓶座 1-20 2-18
双鱼座 2-19 3-20
白羊座 3-21 4-19
金牛座 4-20 5-20
双子座 5-21 6-21
巨蟹座 6-22 7-22
狮子座 7-23 8-22
处女座 8-23 9-22
天秤座 9-23 10-23
天蝎座 10-24 11-22
射手座 11-23 12-21
摩羯座 12-22 1-19

摩羯座是唯一跨年的一条,从 12 月 22 日一直到次年 1 月 19 日。

另外要说明:星座依据的是太阳在黄道上的实际位置,每年会有一两天的漂移(还和出生年份、出生地点、出生时刻有关)。上表是常用的固定日期近似,分界点当天出生的人(比如 3 月 21 日)严格来说要查当年的星历表才能确定。

生肖:按农历年算,不是公历年

这是最容易搞错的一条。生肖跟随农历年,分界是农历新年(春节),不是公历 1 月 1 日。

2026 年春节是 2 月 17 日,所以:

  • 2026-02-16 出生 → 还是蛇年(乙巳年还没结束)
  • 2026-02-18 出生 → 已经是马年(丙午年开始)

本工具用的是 年份 % 12 的简化算法,也就是按公历年取生肖。对春节之后出生的人结果正确;1 月 1 日到春节期间出生的人会差一年。如果你正好生在这个区间,请以农历为准。

还有更细的一种说法按立春分界(命理常用),那又和春节差几天到十几天。

生日倒计时:算到哪个时刻

倒计时有两种口径:

  • 算到生日当天 00:00:生日那天零点一到就归零
  • 算到出生时刻:精确到出生的时分秒

本工具用第二种。填了出生时间 08:30 的话,倒计时就走到生日那天 08:30。这样「已生活多少秒」和「还有多少秒到生日」两个数字能对得上,不会出现在生日当天看到还剩 8 小时的怪现象。

常见问题

周岁和虚岁差多少岁? 通常 1 到 2 岁。虚岁最大比周岁大 2 岁(农历年末出生、且还没过农历新年的时候),最小大 1 岁。

「已生活 X 天」包含今天吗? 包含到当前这一秒。它是两个时刻的毫秒差整除换算,不是日历天数,所以不受「算头不算尾」的影响。

心跳次数、呼吸次数这些数字准吗? 是估算。按每分钟 72 次心跳、每分钟 16 次呼吸、每天 8 小时睡眠乘以实际经历的时间。个体差异很大,当个数量级参考就好。

生命进度按什么算? 按你填的预期寿命折算,一年取 365.25 天(把闰年摊平)。默认 80 岁,可以改。活过预期寿命不会超过 100%,会停在 100%。

相关工具