日期时间 本地计算 开箱即用 内置示例 不留痕迹

年龄计算器

输入出生日期即可精确计算年龄(几岁几个月零几天),同时给出虚岁、出生农历年的生肖、累计天数,以及距下次公历生日与农历生日的天数,支持自定义基准日期。全部在浏览器本地完成,出生日期不上传。

填表写年龄、办证件核对周岁、给孩子算满几个月、算距下次生日还有几天——年龄看似简单,精确到「几岁几个月零几天」就有讲究:大小月、2 月、闰年都会影响借位。本工具按公历年月日逐位借位计算,同时给虚岁、生肖、累计天数与两种生日提醒。

口径说明:周岁按通行定义(生日当天加一岁,未过生日减一岁);虚岁按传统口径(出生即 1 岁,过春节加一岁),两者常差 1~2 岁,正式场合以证件周岁为准。农历生日提醒按农历公历转换推算,个别年份闰月会使农历生日在公历中前后浮动。

使用步骤

  1. 选出生日期(年月日),可再选一个基准日期(默认今天)。
  2. 看主结果:几岁几个月零几天,附虚岁与生肖。
  3. 看累计天数与两个倒计时:距公历生日、距农历生日。
  4. 出生日期仅本地计算不上传;填表时按需取周岁或虚岁。

计算原理与示例

周岁怎么算

周岁按公历生日逐月计算:出生日已过记满 X 岁,未过记 X-1 岁加若干月。例如 1990-06-15 出生,到 2026-09-11 为 36 岁 2 个月 27 天。

累计天数怎么算

累计天数 = 两个日期之间的自然日总数(含闰年 2 月 29 日)。例如 1990-06-15 到 2026-09-11 共 13237 天。

下次生日怎么算

下次生日:取基准日期之后最近的生日。2 月 29 日出生的,非闰年按 3 月 1 日前后处理。

虚岁与农历生肖怎么算

虚岁按农历年计算:出生即 1 岁,每过一个农历新年(正月初一)加 1 岁,即虚岁 = 基准日农历年 − 出生农历年 + 1,通常比周岁大 1~2 岁(腊月出生的人一过春节就记 2 岁,而周岁仍是 0 岁)。生肖与干支同样以出生农历年为界,春节前出生按上一年的生肖。下次农历生日把出生的农历月日搬到本农历年,闰月出生者在没有闰月的年份按普通月过生日,三十遇到小月退到廿九。

代码示例

JavaScript 周岁计算:年月日逐位借位

function fullAge(birth, today) {
  let age = today.getFullYear() - birth.getFullYear();
  const m = today.getMonth() - birth.getMonth();
  if (m < 0 || (m === 0 && today.getDate() < birth.getDate())) age--;
  return age;
}

fullAge(new Date(1990, 5, 15), new Date(2026, 8, 14));  // 36(差一天)
fullAge(new Date(1990, 5, 15), new Date(2026, 8, 15));  // 37(生日当天)

Python relativedelta 精确到月日

# pip install python-dateutil
from dateutil.relativedelta import relativedelta
from datetime import date

diff = relativedelta(date(2026, 9, 15), date(1990, 6, 15))
diff.years, diff.months, diff.days   # (36, 3, 0)

# 与本工具同口径:年月日逐位借位,天然处理大小月与闰年

常见问题

年龄按周岁还是虚岁?

本工具两种都给:周岁是法律通行的算法——出生时 0 岁,每过一个公历生日加 1 岁;虚岁是传统算法——出生即 1 岁,每过一个农历新年加 1 岁,通常比周岁大 1~2 岁。入学、退休、办证等正式场合一律以周岁为准。

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

非闰年时,2 月 28 日之后、3 月 1 日之前视为生日已过。整岁数不受影响,月差按日历对齐。

为什么和其他工具算出的天数不一样?

有的工具把起止两头都算进去(含头含尾)。本工具按两个日期的自然日差计算:出生当天不算第 1 天,这是身份证、社保通用的算法。

周岁是怎么算的?

周岁从出生当天算起,每过一个生日加 1 岁;未到今年生日时,按「已满的整年数」计。法律、入学、退休等正式场合一律以周岁为准,算法是用当前日期减去出生日期后取整年。

虚岁和周岁差几岁?

虚岁出生即算 1 岁,之后每过一个农历新年(正月初一)加 1 岁,所以虚岁 = 基准日农历年 − 出生农历年 + 1,通常比周岁大 1~2 岁;腊月出生的人一过春节就记 2 岁,而那时周岁还是 0 岁。传统习俗和部分民间场合仍用虚岁,入学年龄、身份证明等正式场景一律用周岁。

怎么算两个日期相差多少个月?

按「年差 × 12 + 月差」计算,再根据日的先后借位调整。例如 2020-05-20 到 2026-09-12 是 6 年 3 个月零 23 天。本工具会同时给出「几岁几个月零几天」的精确形式。

年龄和工作年限、社保年限是一回事吗?

不是。年龄按出生日期计算;工作年限从入职日算起;社保年限按实际缴费月份累计。计算工龄、年假和退休时间时要用各自的起始日期,不能直接套用年龄。

延伸阅读

来自本站原创文章,讲清这个工具背后的算法与口径。