跳到正文

年龄计算器

这个免费的年龄计算器把出生日期换算成精确到年、月、日的年龄,同时给出累计活过的天数和下一个生日的日期。它在浏览器里运行,无需账号,数据不会被送到任何地方。

按年、月、日逐层计算的年龄

年龄不是简单的除法,而是日历意义上的加减:从出生日期起,先按整年往前推,只要结果还没到第二个日期就继续推一年;推不动了,再按整月推;最后剩下的天数就是最后一段。这样算出来的「34 年 2 个月 9 天」,才是平时说话时会用的说法,而不是没人会用的小数年龄。

每个月的天数不一样,最后剩下的天数因此取决于落在哪个月。从 1 月 31 日往后推一个月,平年落在 2 月 28 日,闰年落在 2 月 29 日,因为没有 2 月 31 日这一天。计算器会取到那个较短月份的最后一天,这也是户籍登记和大多数法律上定义年龄时用的算法;反过来减的时候也是同一套规则,所以两个相邻的日期算出来的年龄不会突然跳一天。

闰年、2 月 29 日与累计天数

累计天数只是简单数出出生日期到第二个日期之间一共经过了多少天,中间遇到的每一个 2 月 29 日都会被算进去。闰年的判断规则是:能被 4 整除就是闰年,但能被 100 整除的世纪年例外,能被 400 整除的又再算作闰年——2000 年是闰年,1900 年不是。计算器严格按这条规则计算,而不是用一个平均年长度去估,所以总天数是精确值;累计周数就是这个总天数除以 7。

2 月 29 日出生的人,在平年里其实没有生日。这个计算器把平年的 3 月 1 日当作长一岁的那一天,这是更常见的民间用法,而且会说明用的是哪种算法,不用你自己去猜。总天数不受这个选择影响,因为它数的是真实经过的天数,不是生日的次数。

时区、隐私,以及把第二个日期改成其他日子

日期本身没有时区,除非有人给它加上一个。这里的两个日期都当作单纯的日历日期直接比较,所以不会因为你在飞机上打开页面、或者服务器在别的国家,年龄就多算或少算一天。两个日期只留在你的浏览器里,不会被发送到任何地方;出生日期不会被保存、记录或上传。

第二个日期默认是今天,取自你设备的时钟,你也可以改成任何其他日期。「截至日期」要问的正是这种情况——入学的年龄门槛、保险的年限、签证申请、还没开始的一个季度。「下一个生日」这一行反过来给出日期、那天是星期几,以及还有多少天。如果你要算的是两个任意日期之间的天数,而不是一个年龄,日期天数计算能做到;要数到某一刻的天、时、分、秒,用倒计时。

常见问题

怎么计算自己的精确年龄?

输入出生日期,计算器会给出截至今天的年、月、日年龄,以及你已经活过的总天数。

我活了多少天?

总天数会数出从出生日期到第二个日期之间的每一个真实日子,包括中间的每一个闰日,和年、月、日的结果一起显示。

如果我是 2 月 29 日出生的呢?

在平年里,计算器把 3 月 1 日当作长一岁的那一天,这是常见的民间算法;这个选择不会影响总天数。

能不能算截至某个日期而不是今天的年龄?

可以。把第二个日期改成任意一天,过去或将来都行,年龄就会按那一天重新计算,而不是按今天。

距离下一个生日还有多少天?

「下一个生日」这一行会给出日期、那天是星期几,以及从今天算起、按你自己的时区还剩多少天。

我的出生日期会被保存或发送出去吗?

不会。计算在你的浏览器里完成,你输入的日期不会被上传,也没有账号,不会留下任何记录。