这个计算器能做什么
「两个日期间的年龄计算器」可以算出出生日期与目标日期之间精确的时间跨度,结果以年、月、日呈现。同时,它还会把同一段时间换算成小数年、总月数加天数、周数加天数、总天数,以及大致的小时、分钟和秒数。它采用标准的公历(格里高利历)算法,因此在任何地区结果都一致,不存在地域差异规则。
如何使用
先在「计算方式」中选择模式。默认的年龄模式需要填入出生日期和目标日期,返回年龄。出生日期模式则相反:输入目标日期和已知年龄,反推出生日期。死亡日期模式是在出生日期上加上年龄。「日期格式」选项仅改变各栏位的显示顺序,不会影响任何计算结果。
计算公式解析
年龄是逐项计算出来的。首先相减「日」:如果结果为负,就向前一个月借位(借入结束月之前那个月的天数),并把月份数减一。接着,如果「月」也为负,就借十二个月,并把年份减一。
$$\text{Age} = \text{EndDate} - \text{StartDate}\ \ (\text{years, months, days with calendar borrow})$$
$$d = d_e - d_s,\ m = m_e - m_s,\ y = y_e - y_s$$
总天数则根据序数日(即从某一基准日起的天数编号)计算,因此闰年能被精确处理,规则为:当年份能被 4 整除时二月有 29 天,但能被 100 整除却不能被 400 整除的世纪年除外。
实例演示
出生于 1990-03-25,计算在 2026-06-15 的年龄。年 = 36,月 = 3,日 = \(15 - 25 = -10\)。向五月借位(31 天):日 = 21,月 = 2。结果为36 岁 2 个月 21 天。总天数 = 13,231,小数年约为 \(\frac{13231}{365.2425} \approx 36.225\),周数 = 1,890 周余 1 天。
将年龄跨度转换为其他单位
一旦计算器获得了总经过时间,同一跨度就可以用更大或更小的单位表示。总天数是锚值:周、小时、分钟和秒是一天的精确倍数,而年和月是可变长度的日历数量,因此与它们之间的转换使用平均值。
| 单位 | 等于 | 备注 |
|---|---|---|
| 1 周 | 7 天 | 精确。 |
| 1 天 | 24 小时 = 1,440 分钟 = 86,400 秒 | 精确(忽略罕见的闰秒)。 |
| 1 小时 | 60 分钟 = 3,600 秒 | 精确。 |
| 1 平均月 | ≈ 30.4369 天 | 365.2425 ÷ 12;仅用于小数转换。 |
| 1 平均年 | ≈ 365.2425 天 | 格里高利历平均年;说明了 400 年闰年周期。 |
总天数 → 周 + 天
将总天数除以 7。商是整数周数,余数是剩余的天数:
$$\text{周} = \left\lfloor \frac{\text{总天数}}{7} \right\rfloor, \qquad \text{额外天数} = \text{总天数} \bmod 7$$
例如,5,479 天 → \(\lfloor 5479/7 \rfloor = 782\) 周,余数 \(5479 - 782\times 7 = 5\),即 782 周 5 天。
总天数 → 十进制年和小时
十进制年使用格里高利历平均年长度,使跨度能正确平均闰年:
$$\text{十进制年} = \frac{\text{总天数}}{365.2425}$$
所以 5,479 天 ≈ \(5479 / 365.2425 \approx 15.00\) 年,用小时表示是 \(5479 \times 24 = 131{,}496\) 小时。
关键术语解释
- 出生日期(开始日期)
- 两个日期中较早的一个,从该日期开始测量经过的时间。在年龄模式下它是直接提供的;在出生日期模式下,它是计算器要解决的未知数。
- 目标/结束日期
- 用于评估年龄的较晚的"截至"日期——对于活着的人,这通常是今天,但可以是任何日期,例如未来的生日或历史纪念日。
- 日历借位
- 当结束日小于开始日或结束月小于开始月时所做的调整。计算器在相减前借用一个月(加上该月的实际天数),在相减月份前借用一年(加上 12 个月)——与长减法相同的逻辑,但带有可变长度的"列"。
- 十进制年
- 整个跨度表示为年的单个分数,从总天数除以平均格里高利年 365.2425 天计算而出。用于图表和平均值很有用,但对于特定人的年/月/日分解来说精度较低。
- 序数天数(总天数)
- 两个日期之间的天数,通过将每个日期转换为序列日期数并相减得出。它不受月份长度或闰年位置的影响,是周、小时、分钟和秒转换的基础。
- 闰年(格里高利历规则)
- 如果一年能被 4 整除,则它是闰年(有 2 月 29 日),但世纪年除外,世纪年还必须能被 400 整除。因此 2000 年和 2024 年是闰年,而 1900 年和 2100 年不是。此规则使日历与太阳年保持一致,并解释了 365.2425 天的平均值。
- 年龄模式
- 根据出生日期和目标日期,返回以年、月和日表示的经过年龄(加上其他单位)。
- 出生日期模式
- 根据已知的年龄和该年龄适用的日期,向后推算以找到出生日期。
- 死亡日期模式
- 根据出生日期和死亡时的年龄(或任何最终年龄),将年龄添加到出生日期以找到相应的较晚日期。
常见问题
闰年是如何处理的?完全精确,遵循公历规则(能被 4 整除,但若能被 100 整除则需同时能被 400 整除才算闰年)。
为什么小时、分钟和秒只是近似值?因为没有输入具体的时刻,所以这些数值是用整天数分别乘以 24、60 和 60 得出的。
如果生日是 2 月 29 日,而某年不是闰年怎么办?按惯例,这一天会被视为二月的最后一个有效日(即 2 月 28 日)。