透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

年齡
26 years, 5 months, 25 days
兩個日期之間經過的時間
26
5
25

這個計算器能做什麼

這款年齡計算器會精確算出從出生日期(或任何起始日期)到指定日期之間實際經過了多少時間。它不會只丟給你一個小數,而是把時間差拆解成完整的年數、月數,再加上剩餘的天數——就像我們平常描述年齡的方式,例如「32 歲又 4 個月又 18 天」。

使用方法

先分別填入出生日期的年、月、日,再輸入指定日期(預設為今天)。按下計算後,結果就會顯示完整的拆解。一般來說,指定日期應該等於或晚於出生日期。

計算公式說明

計算時會先逐項相減:年 = \(Y_2 - Y_1\)、月 = \(M_2 - M_1\)、日 = \(D_2 - D_1\)。完整的拆解公式為:

$$\text{Age} = (Y_2 - Y_1)\ \text{years},\ (M_2 - M_1)\ \text{months},\ (D_2 - D_1)\ \text{days (with borrow)}$$

由於每個月的天數不同,加上年份可能是閏年,因此需要兩次「借位」來修正出現的負數。如果天數為負,就加上指定日期前一個月的實際天數,並把月數減 1:

$$D = D_2 - D_1 + \text{daysInPrevMonth},\quad M = M - 1$$

若這時月數也變成負數,就加上 12,再把年數減 1:

$$M = M_2 - M_1 + 12,\quad Y = Y - 1$$

閏年(能被 4 整除,但若能被 100 整除則須同時能被 400 整除)都會被正確判斷,所以 2 月會準確地算成 28 天或 29 天。

時間軸顯示兩個日期被拆分為年、月、日三段
年齡按兩個日期之間的完整年數計算,接著是剩餘月數,最後是剩餘天數。

實際範例

出生日期為 2000-01-15,指定日期為 2024-03-10。天數:\(10 - 15 = -5\),因此向 2024 年 2 月借位(閏年,共 29 天):

$$10 - 15 + 29 = 24\ \text{天}$$

月數則減 1。月數:\(3 - 1 - 1 = 1\)。年數:\(2024 - 2000 = 24\)。結果為:24 年 1 個月 24 天。

圖示展示日曆各欄之間天數與月數的借位
當天數或月數為負時,向更大的單位借位(一個月約為30天,一年為12個月)。

主要術語解釋

出生日期
兩個日期中較早的一個 — 該人(或項目)開始的日期。在公式中,它提供了 birthYearbirthMonthbirthDay 的值,這些值從截止日期中減去。
截止日期
您測量到的參考日期(通常是今天)。它提供 toYeartoMonthtoDay。年齡是從出生日期到此點為止經過的時間。
閏年
包含 366 天的年份,添加了 2 月 29 日。在公曆中,如果一年能被 4 整除,則該年是閏年,但世紀年除外,世紀年也必須能被 400 整除(所以 2000 年是閏年,但 1900 年不是)。只要 2 月 29 日落在該間隔內,閏年就會影響日期計數。
日曆借位
保持結果非負的調整。如果日期差異 \(D<0\),您借用一個月:將前一個月的天數添加到 \(D\) 中,並將 \(M\) 減少 1。如果月份差異 \(M<0\),您借用一年:將 12 添加到 \(M\) 並將 \(Y\) 減少 1。這反映了普通減法中的借位。
daysInPrevMonth
緊接在截止月份之前的日曆月份的長度(28、29、30 或 31 天)— 在日期借位期間添加到 \(D\) 的值。由於月份長度不同,「完成」一個不完整月份的確切天數不是固定的,這就是為什麼年齡(以天為單位)無法僅從年份和月份推導出來。
已過月份與十進制年份
已過月份計算實際完成的整個日曆月份(例如 18 個月),保留真實的月份邊界。十進制年份將總天數除以平均年長(例如 365.25)以得到像 1.52 年這樣的數字。十進制年份便於平均計算,但會失去確切的日曆結構;(年、月、日)的分解精確到實際日曆。

常見問題

會處理閏年嗎?會。2 月的天數與借位計算都完整套用閏年規則。

如果指定日期早於出生日期會怎樣?結果可能出現負數;若要得到有意義的年齡,請讓指定日期等於或晚於出生日期。

為什麼要拆成年、月、天?因為這正是我們平常描述年齡的習慣,比起單一的小數年數更直覺、更容易理解。

最後更新: