年龄计算器
输入出生日期即可精确计算年龄(几岁几个月零几天),同时给出虚岁、出生农历年的生肖、累计天数,以及距下次公历生日与农历生日的天数,支持自定义基准日期。全部在浏览器本地完成,出生日期不上传。
填表写年龄、办证件核对周岁、给孩子算满几个月、算距下次生日还有几天——年龄看似简单,精确到「几岁几个月零几天」就有讲究:大小月、2 月、闰年都会影响借位。本工具按公历年月日逐位借位计算,同时给虚岁、生肖、累计天数与两种生日提醒。
口径说明:周岁按通行定义(生日当天加一岁,未过生日减一岁);虚岁按传统口径(出生即 1 岁,过春节加一岁),两者常差 1~2 岁,正式场合以证件周岁为准。农历生日提醒按农历公历转换推算,个别年份闰月会使农历生日在公历中前后浮动。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 选出生日期(年月日),可再选一个基准日期(默认今天)。
- 看主结果:几岁几个月零几天,附虚岁与生肖。
- 看累计天数与两个倒计时:距公历生日、距农历生日。
- 出生日期仅本地计算不上传;填表时按需取周岁或虚岁。
计算原理与示例
周岁怎么算
周岁按公历生日逐月计算:出生日已过记满 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 天。本工具会同时给出「几岁几个月零几天」的精确形式。
年龄和工作年限、社保年限是一回事吗?
不是。年龄按出生日期计算;工作年限从入职日算起;社保年限按实际缴费月份累计。计算工龄、年假和退休时间时要用各自的起始日期,不能直接套用年龄。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。