年齡計算機
精確計算年齡、生肖和下次生日
年齡計算機
什麼是年齡計算機?
年齡計算器會將出生日期轉換成清楚的年齡結果,包括已滿幾歲、剩餘幾個月與幾天、已生活總天數,以及距離下一次生日還有多久。它適合填寫報名表、核對入學或活動年齡限制、整理家庭資料、安排生日提醒等情境。年齡不是單純用今年減出生年份,因為生日是否已經過了會直接影響結果;閏年、2 月 29 日生日與不同月份天數也會造成邊界問題。本工具以目前瀏覽器日期為計算基準,適合快速核對。若涉及正式資格、證件、考試或勞動規則,仍應以主管機關或表單指定的截止日為準。
使用方法
使用方法
- 輸入您的出生日期
- 點選「計算年齡」更新結果面板
- 查看您的精確年齡、總天數、下次生日及星座
注意事項
- 請使用與來源檔案相同的曆法系統;結果以完整經過的日期計算,而非以週年歲數概略計算。
- 用於法律、學校或保險文件時,請確認目標系統是以生日、曆年或當地行政規則計算年齡。
使用場景
技術原理
完整年齡計算採用日曆感知的減法,而非簡單除以 365.25 天。演算法計算 today.year - birth.year,然後若 today 的(月,日)早於 birth 的(月,日)則減去 1。這符合民用記錄所使用的公曆慣例:1990-06-15 出生的人在 2026-06-15 00:00 當地時間正好滿 36 歲,而非經過 36 × 365.25 天後才滿。剩餘的月數和天數透過從更高單位借用並以前一個月的實際天數(28 至 31 天)計算,這就是為什麼對總天數做簡單取模在月份邊界附近會產生一天的誤差。 總天數、週數和小時數由毫秒差值(today.getTime() - birth.getTime())除以 86,400,000 毫秒/天得出。計算器讀取裝置的本地時間,因此隱式繼承了主機的 IANA 時區和任何生效的夏令時間偏移;這對天級年齡來說可以接受,但在夏令時間轉換前後可能導致小時數偏移 ±1。JavaScript 的 Date 物件使用 0 索引月份(一月 = 0),這是手動實作中最常見的錯誤來源,當結果需要不受夏令時間影響時應使用 Date.UTC()。 生肖由 (year - 4) mod 12 對照標準順序鼠、牛、虎、兔、龍、蛇、馬、羊、猴、雞、狗、豬得出(公元 4 年 = 鼠年)。嚴格來說,循環在農曆新年而非 1 月 1 日翻轉,因此公曆一月或二月初出生的人在傳統曆法中可能屬於上一年的生肖。閏日(2 月 29 日)的邊界情況沒有全球統一規則:英國普通法和《出生與死亡登記法》將生日視為非閏年的 3 月 1 日,而美國和澳洲的許多司法管轄區使用 2 月 28 日,因此顯示的倒數計時是預設值,應與相關法規交叉驗證。
- 年份差異演算法:years = today.year - birth.year - (today.MMDD < birth.MMDD ? 1 : 0),避免了閏年後會產生漂移的 365.25 天近似計算
- 毫秒運算:總天數 = floor((Date.now() - birthMs) / 86_400_000);精確度受 IEEE 754 雙精度浮點數限制,在距 epoch ±100,000,000 天的完整 Date 範圍內約為 ±0.5 毫秒
- 公曆閏年規則:可被 4 整除,但不可被 100 整除的世紀年除外,除非可被 400 整除(1900 年是平年,2000 年是閏年);平均年長為 365.2425 天,而非 365.25 天
- 2 月 29 日生日:非閏年的法律生日取決於司法管轄區(英國普通法和 1953 年《出生與死亡登記法》§4 為 3 月 1 日;美國許多州為 2 月 28 日;紐西蘭和部分大英國協國家為 3 月 1 日);工具選擇預設值並同時顯示兩個候選日期
- 生肖:animal = ZODIAC[(year - 4) mod 12];農曆新年落在 1 月 21 日至 2 月 21 日之間,因此公曆年初出生者需要查農曆才能完全準確
- 時區:Date.getFullYear/getMonth/getDate 讀取主機 IANA 時區,對於接近 UTC 午夜出生的情況可能使顯示年齡偏移一天;需要夏令時間不變性時使用 Date.UTC 變體
- JavaScript 陷阱:月份是 0 索引的(0 = 一月),new Date('YYYY-MM-DD') 以 UTC 解析而 new Date('YYYY/MM/DD') 以本地時間解析,getDay 返回 0 表示星期日
範例
基本年齡計算
輸入出生日期:1990-06-15,結果顯示:35 歲 11 個月又 18 天(截至 2026-06-02)生日倒數
輸入出生日期:1985-12-25,顯示距離下一個聖誕節生日還有幾天生肖結果
出生年 2000 顯示為「龍」,出生年 1996 顯示為「鼠」常見問題
精確年齡是怎麼計算的?
從出生日期到今天,本頁會分別顯示年、月、日,並算出總共活了多少天、週、小時、分、秒。「歲數」會在每年生日當天的月份與日期之後才加一,與正式文件上的年齡演算法一致。
為什麼我的年齡比預期少了一歲?
最可能的原因是今年生日還沒到。這個計算機採用法定年齡的演算法:要過完 30 歲生日才算 30 歲,而不是在當年的 1 月 1 日就加一歲。東亞的「虛歲」會在出生時加一歲、每逢農曆新年再加一歲,但本工具回報的是國際通用的標準年齡。
「今天」是以哪個時區為準?
以你裝置的本地時區為準。如果你跨越時區飛行,顯示的「活了幾秒」可能會偏移數小時;但年月日的計算是依日曆日期比較,不會受影響。
2 月 29 日生日要怎麼處理?
在非閏年時,本頁預設把 3 月 1 日視為週年日(多數法律管轄區也是這樣處理)。也有地方會以 2 月 28 日為準;如果這個日期在法律上很重要,請依當地規定為準。
下次生日是哪一天?
下次生日區塊會顯示日期與剩餘天數,並標示星期幾,方便提早安排。若是 2 月 29 日生日的人,在非閏年除了顯示 3 月 1 日之外,也會一併顯示下一個「真正的」2 月 29 日。
會計算星座與生肖嗎?
會的——西洋星座依出生月、日計算。生肖則依出生年的農曆春節為界,所以 1 月或 2 月出生的人可能會顯示前一年的生肖,而不是西曆年的生肖,這是正確的。
我的出生日期會被儲存或上傳嗎?
不會。所有計算都在你的瀏覽器中完成。重新整理頁面即可清除輸入內容,不會記錄也不會傳送任何資料。