跳到主内容
UniKit

精确年龄计算

从出生日期到指定日期算精确年龄:年/月/日、总天数、总周数、总小时与分钟、下次生日倒计时、经历过的闰日数和出生当天的星期。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

日期

日期按 UTC 计算,不受本地时区影响;2 月 29 日出生的人在平年按 2 月 28 日过生日。参考日期留空时默认取本机今天。

计算结果

填好出生日期后这里会自动给出结果。

这个工具能做什么

  • 想知道自己到今天为止活了多少天、多少周、多少小时,填出生日期就一目了然。
  • 给孩子办生日、算「还有几天过生日」时,用下次生日倒计时比翻日历快得多。
  • 填写体检、签证或入学表格需要精确到年月日的年龄时,避免手算出错(尤其是月底出生的人)。
  • 2 月 29 日出生的闰日宝宝,可以看清平年按 2 月 28 日算的生日以及已经历过几个闰日。

示例

输入

出生日期 1990-05-20,计算到 2026-10-10

输出

精确年龄 36 年 4 个月 20 天,总天数 13292 天,总周数 1898 周,总月数 436 个月,总小时 319008 小时,总分钟 19140480 分钟,下次生日 2027-05-20(还有 222 天),经历过的 2 月 29 日 9 个,出生当天 星期日

总天数 13292 天与 Python datetime 的独立计算结果一致,说明年/月/日的借位逻辑正确。

常见问题

为什么「总天数 ÷ 365」和年龄对不上?

因为闰年。1990-05-20 到 2026-10-10 共 13292 天,除以 365.25 约 36.4 年,而按年月日借位算出来的精确年龄是 36 岁 4 个月 20 天。要填表格就用年月日,要做统计就用总天数。

2 月 29 日出生的人怎么算生日?

工具采用常见约定:平年按 2 月 28 日过生日。所以 2000-02-29 出生的人在 2001-02-28 那天会被算作「今天生日」,倒计时为 0;到 2001-03-01 则显示已满 1 岁 0 个月 1 天。

「经历过的 2 月 29 日」是什么意思?

统计出生之后到今天之间实际出现过的 2 月 29 日个数(不含出生当天)。它和「过了几个闰年」接近但不完全相同:出生当天正好是 2 月 29 日时,那一次不计入。

结果会随本地时区变化吗?

不会。日期按 UTC 计算,只用你填的年月日,不受时区、夏令时或系统时间格式影响。参考日期留空时才取本机「今天」,且只在浏览器挂载后读取一次。

能算未来的日期或年龄差吗?

可以把参考日期设成未来日期,但出生日期不能晚于参考日期,否则会提示错误。时间跨度上限是 200 年,超过会要求你检查输入。

关键词:age calculatorage in daysdays between datesnext birthdayleap dayexact age精确年龄计算年龄计算总天数下次生日出生星期

同类工具