日期計算機
免登入・本機計算・資料不上傳
日期計算機幫你算「兩個日期差幾天」「某天加減幾天/月/年是哪天」「幾歲(實歲/虛歲)」「離某天還有幾天」,還有百日、對年。全部支援民國年對照與農曆日期。
例:1990-05-20 出生,今天實歲、虛歲各幾歲?2026-01-31 加 1 個月是哪天(答案是 2026-02-28,不是 3/3)?
這裡算的是「日曆天」,含週末與國定假日;想扣掉假日只算上班日,請用工作天計算器。
相差多久
—天
—
—
跟「總天數」是不同算法,數字不會相等,兩個都對。
—
—
計算結果
—
含星期與農曆日期
—
年齡
—歲
—歲
出生即 1 歲,每逢農曆新年加 1 歲,依維基百科「虛歲」定義。
倒數/已過
—
—
百日
—
往生當天算第 1 天,累計到第 100 天。
對年(兩種常見算法,說法不一,並列供參考)
—
農曆忌日隔年同月同日。
—
若往生後、對年前的農曆年裡有閏月,提前一個月。
「三年」概念上是往生後第 25 個農曆月(對年再往後追一個農曆月),但這會疊加第二層閏月判斷,各家說法出入較大,本頁不提供計算結果,詳見下方「怎麼算的」與 FAQ。
本頁全程在你的瀏覽器本機計算,日期一律以台北時間(Asia/Taipei)為準。百日、對年屬民俗慣例,無主管機關統一規定,各家說法如有不同已照實並列,實際日期請另洽禮儀師或家中長輩確認。
怎麼算的?
相差多久同時給兩種答案:「總天數/幾週又幾天」是單純的日曆天數相減;「幾年幾月又幾天」改用月曆語意計算——從較早的日期開始,盡量湊出整月數(遇到月底會 clamp,例如 1/31 到 2/28 算滿 1 個月,不會因為 2 月沒有 31 號就少算),湊不滿整月的部分才折算成天數。這是兩種不同的問題,同一組輸入答案通常不同,都對。
日期加減:天/週直接用天數加減;月/年一律採「月底 clamp」——目標月份沒有那一天就退到月底,例如 2026-01-31 +1 個月=2026-02-28(不是 3/3),2024-02-29(閏年)+1 年=2025-02-28(平年沒有 2/29)。注意月/年的加減不保證能互相抵銷:2026-02-28 再 -1 個月會得到 2026-01-28,不會跳回 2026-01-31,因為程式只知道「28 號的上個月」,不會反推原本是不是月底,詳見下方 FAQ。天/週的加減沒有這個問題,一定可逆。
實歲採標準週歲算法,跟「幾年幾月又幾天」的「年」是同一套邏輯。虛歲依維基百科「虛歲」條目定義:出生當下算 1 歲,之後每逢農曆新年(正月初一)加 1 歲,不是國曆跨年。
百日:往生當天算第 1 天,累計到第 100 天(等同往生日 + 99 天),是多家生命禮儀業者共同採用的主流算法;另有農曆「3 個月又 10 天」及依亡者年紀、家族人數調整的版本,因為不是純日期能算出來(後者需要額外資訊),本頁只計算主流版本。
對年以農曆忌日為準,隔年同農曆月日。若往生後到對年之間,農曆年裡出現閏月,「死人無閏月」的說法主張要提前一個月做對年;也有地方不特別處理閏月,直接算隔年同月同日。兩種說法都有一定流通度,本頁並列兩個版本,不替你選邊。
三年概念上是「往生後第 25 個農曆月」(對年往後再追一個農曆月),但這代表要再疊加一次「隔年是否又有閏月」的判斷,查到的來源對這第二層閏月的處理沒有一致說法,可信度不足以做成計算結果,本頁選擇不算,只在文字中說明概念。
民國年換算:民國元年=西元 1912 年,民國年 = 西元年-1911。
資料來源與依據
- 民國紀年:民國元年為西元 1912 年,民國年 = 西元年 − 1911(通用換算,非單一機關公告)。
- 虛歲定義(出生即 1 歲,以農曆新年為界):維基百科「虛歲」條目。
- 百日「往生當天算第 1 天、第 100 天即百日」算法,多家生命禮儀業者共同採用(查證 2026-07-27)。
- 對年「農曆忌日隔年同月同日」與「死人無閏月、遇閏月提前一個月」兩種說法(查證 2026-07-27)。
- 農曆換算沿用本站既有 src/lib/calc/lunar.ts(lunar-javascript)。
- 工具邏輯最後更新於 2026-07。
最後核對日期:2026-07-27
常見問題
日期計算機跟工作天計算器差在哪?
這頁算的是「日曆天」——兩個日期之間實際經過幾天、幾週,不管是不是週末或國定假日;工作天計算器算的是「工作天」——會自動扣掉週末與國定假日,只算上班日。想排出貨日、合約到期日這種要扣假日的情境,請改用工作天計算器;想單純知道兩天差幾天、算歲數、算對年,用這頁。
「相差幾天」跟「幾年幾月又幾天」為什麼數字兜不起來?
這是兩種不同算法。「相差幾天/幾週」是單純的日曆天數相減;「幾年幾月又幾天」是先盡量湊出整年整月(月底會 clamp,例如 1/31 到 2/28 算滿 1 個月),剩下的才算成天數。例如 2026-01-31 到 2026-03-02,總天數是 30 天,但「幾年幾月又幾天」是 1 個月又 2 天,兩個都對,只是回答的問題不一樣。
2026-01-31 加 1 個月是 2026-02-28,那 2026-02-28 再減 1 個月,為什麼不是回到 2026-01-31,而是 2026-01-28?
這是「月底 clamp」算法必然的結果,不是 bug。2026-01-31 +1 個月,因為 2 月沒有 31 號,只能退到月底=2026-02-28;但反過來從 2026-02-28 -1 個月,程式看到的起點就是「28 號」,1 月確實有 28 號,所以直接給你 2026-01-28,不會自動幫你猜「原本可能是月底」再跳回 31 號。換句話說,加減月/年是「同一天的下個月/上個月」,不是可以互相抵銷的加減法,中間跨過月底就回不去了。這也是刻意的設計選擇:另一種算法是「往後推整整 30 天」這類固定天數算法(1/31 +1 個月會變成 3/3),我們選擇月底 clamp,是因為多數人講「下個月的今天」時,直覺預期還是同一個日期號碼、只是月份加一,這樣比較符合日常語感。如果你的用途需要「加減能完全互相抵銷」(例如算合約往返期限),建議改用「天」為單位計算,天/週的加減一定可逆。
虛歲怎麼算?跟其他計算機算出來的不一樣?
虛歲=出生當下算 1 歲,之後每逢農曆新年(正月初一)加 1 歲,這是維基百科「虛歲」條目的定義,以農曆新年為界,不是國曆 1 月 1 日。有些計算機為了方便直接用「西元年份差 + 1」簡化計算,這個簡化版跟精確版在每年 1/1 到農曆新年之間會差 1 歲——本頁採用比較嚴謹、以農曆新年為界的版本;本站的「民國西元換算・年次年齡計算機」因為只輸入年次、沒有完整生日,算不出精確版,是刻意採用簡化版本,不是算錯。
百日、對年是怎麼算出來的?準嗎?
百日採多數生命禮儀業者共同使用的算法:往生當天算第 1 天,累計到第 100 天。對年以農曆忌日為準,隔年同農曆月日;但如果往生後、到對年之間的農曆年剛好有閏月,民間有「死人無閏月」的說法主張要提前一個月,也有地方不特別處理,兩種做法都常見,本頁兩個版本都列出來,不替你選邊。這些是民俗慣例,沒有主管機關統一規定,實際日期建議再跟禮儀師或家中長輩確認一次。
為什麼沒有「三年」的計算結果?
「三年」概念上是往生後第 25 個農曆月,等於在「對年」的算法基礎上,再疊加一次隔年是否有閏月的判斷。我們查了幾家生命禮儀業者的說明,這第二層閏月怎麼處理的說法出入更大,沒有查到夠可靠、一致的依據,與其給一個可能算錯的日期,選擇不提供計算結果,只在下方說明概念,實際日期請洽禮儀師。