年龄差计算器
结果
第一个日期更早
年
- 个月
- 5
- 天
- 14 天
- 总月数
- 65
- 相差天数(正 = 第一个日期更早)
- 1,991 天
年龄差计算器填两个出生日期,算两个人的年龄差:相差几年几个月几天、合多少个月,以及两人里谁更大。交换两个日期,差值的大小一点不变,变的只有谁更大这一条。相差天数那一行是带正负号的:正数表示第一个日期更早、第一个人更大,负数反过来,同一天是 0。这里算的是两个日期之间的距离,与今天是哪天无关,所以两个人都不在了也照样算得出来。
公式
年龄差 = 较晚的日期减较早的日期,拆成整年、整月与剩余天数;差值带符号的那一项记录两个输入里哪一个更早
- firstBirthDate
- 第一个出生日期。它填在哪一栏只决定相差天数的正负号,不决定差值大小
- secondBirthDate
- 第二个出生日期。两个日期交换位置,年、月、日与总月数四项完全不变
- years
- 两个日期之间满几年,也就是大的那个比小的那个大几岁
- months
- 扣掉整年之后剩余的整月数,0 到 11
- days
- 扣掉整月之后剩余的天数。两个日期不管谁先谁后,这一项都不会是负数
- totalMonths
- 整个差值合多少个月;5 年 5 个月就是 65 个月,跨年比较时用这个数更稳
- daysApart
- 相差的天数,带符号:第一个日期更早为正,第二个更早为负,同一天为 0
需要在两个日期之间做比较、而不是单独算某个人的年龄时用它:兄弟姐妹之间差几岁、同班同学的年龄跨度、按谁更大来判定的退休或福利条款、家谱里只有年份也要比出先后的那两个日期。判断拿哪个数说话:只要差值大小就用年、月、日与总月数,要判先后就看相差天数的正负。别拿它算某一方现在几岁——那需要今天的日期,是年龄计算器的事。
算例
1990-01-01 与 1995-06-15
- 1990 年 1 月 1 日到 1995 年 1 月 1 日是满 5 年,所以 years 是 5
- 1995 年 1 月 1 日到 1995 年 6 月 1 日是满 5 个月,所以 months 是 5
- 整月节点是 1995 年 6 月 1 日,较晚的日期是 6 月 15 日,所以 days 是 14
- 5 × 12 + 5 = 65 个月
- 1990-01-01 到 1995-01-01 是 1826 天(五年里 1992 年是闰年),再加到 6 月 1 日的 151 天与 14 天,共 1991 天
1991 这个数值得手工核一遍:五个日历年是 1826 天而不是 1825 天,因为 1992 年是闰年,少算这一天是这里最常见的错法。
同两个人,日期反着填
- 四个差值数字一个没变:5 年、5 个月、14 天、65 个月
- 相差天数从 1991 翻成 -1991
- 徽章跟着翻面:第一个日期现在更晚,所以第二个人更大
- 其余都不动——没有负的月数,也没有负的天数
五个数里只有一个是会变的,这是有意的。年龄差是一段距离,距离没有方向;谁更大是另一个问题,由符号回答。
局限
两个日期都必须是真实存在的日期,填 2 月 30 日会被直接拒绝,而不是悄悄变成 3 月 2 日。年龄差按整月拆,所以只差几周时 months 读 0,那几周要看相差天数那一行——差一天和差 370 天都可能报 0 个月。页面只比较日期,不读时钟,所以不涉及时区。它给的是差值有多大、谁更大,不给任何一方现在几岁;那要今天的日期,是另一次计算。
常见问题
- 两个人的年龄差怎么算?
- 用较晚的日期减较早的日期,再把结果拆成年、月、日:1990 年 1 月 1 日到 1995 年 6 月 15 日是 5 年 5 个月 14 天。这一项与填写顺序无关,两个日期反着填也是 5 年 5 个月 14 天。合多少个月那个数往往更好用,因为 65 个月不随生日落在月初还是月末而变。
- 两个人里谁更大?
- 出生日期在前的那个更大,结果上方的徽章会直接写出来,是「第一个日期更早」还是「第二个日期更早」。交换两栏时只有这一条会变,五年还是五年。两个日期完全相同的话,徽章写「同一天」,所有数字都是 0。
- 两个日期分别填哪一栏有影响吗?
- 对差值大小没有影响。年、月、日与总月数四项完全一样,因为两个日期之间的距离没有方向。有影响的是相差天数那一行:第一栏是更早的日期时为正,否则为负。徽章读的正是这个符号,所以填反了不会算错,只会把谁更大说反,而符号会同时告诉你。
- 为什么只差几周的两个人,月份是 0?
- 因为 months 只数满月,几周的差值里一个满月都没有。相差 30 天的两个人报的是 0 个月加 30 天,不是 1.0 个月。两个月以内的差值看相差天数那一行;整月数留给年、月当主角的场合,比如兄弟姐妹之间差 65 个月。
- 它和两个日期相差多少年有什么不同?
- 算术是同一套,问的问题不一样。按年算差值的工具只报一段跨度有多长,不判先后;这一页多出来的是结论,而两个生日要的正是这个结论。它还把差值按天给出并带符号,所以五年的差值读 1991 天,反过来填读 -1991 天。
参考资料
- 年、月、日等计时单位是怎么形成的? — 科普中国
- 放开我这个 27 岁的孩子,你才虚岁 30 了! — 科普中国