透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

期間總天數(含頭尾)
1
星期幾 次數
星期一 0
星期二 0
星期三 1
星期四 0
星期五 0
星期六 0
星期日 0

這個計算器的功能

「日期區間星期幾天數計算器」可以告訴你在兩個日期之間,星期一、星期二、星期三、星期四、星期五、星期六與星期日各出現幾次,並且把起訖兩天都計入(含頭尾)。它也會列出整段期間的總天數。無論是排班、計算薪資、統計工作日,或只是想知道「今年總共有幾個星期五?」,都能派上用場。

一個日曆日期範圍,每個星期幾都被計入七個帶標籤的分組中
所選範圍內的每一天都會被歸入週一到週日的七個星期分組之一。

使用方式

透過年、月、日欄位選擇起始日期與結束日期。一般日期請將曆制維持在「西曆(公元/格里曆)」即可。本工具另外提供日本年號模式(明治、大正、昭和、平成、令和)作為輔助選項,這是日本特有的紀年方式:選用後,你輸入的年份會被視為該年號的年數,並先換算成對應的西曆年份再進行計算。底層的日期運算是通用的,不受任何國家規則影響;台灣讀者若慣用民國紀年,可自行將民國年加 1911 換算成西曆後輸入。

計算公式

每個日期都會先轉換成一個天數序號。含頭尾的總天數為 $$\text{totalDays} = \text{endSerial} - \text{startSerial} + 1$$ 由於一週有七天,每個星期幾至少會出現 \(\text{baseline} = \text{totalDays div } 7\) 次。剩下的 \(\text{remainder} = \text{totalDays mod } 7\) 天則是額外出現的次數,會從起始日期的星期幾開始,依序往後分配。任何格里曆日期是星期幾,則以 Sakamoto 演算法求得。

$$\text{Count}(w) = \left\lfloor \frac{N}{7} \right\rfloor + \bigl[\,(w - w_0) \bmod 7 < (N \bmod 7)\,\bigr]$$

$$\text{where}\quad \left\{ \begin{aligned} N &= (\text{Serial}_{\text{end}} - \text{Serial}_{\text{start}}) + 1 \\ \text{start} &= \text{Start Yr}/\text{Mo}/\text{Day} \\ \text{end} &= \text{End Yr}/\text{Mo}/\text{Day} \\ w_0 &= \text{weekday of start date} \end{aligned} \right.$$

展示總天數分為整週加餘數的示意圖
總天數被分為整週(每個星期幾各一天)加上一個餘數,餘數依序給前幾個星期幾各加一天。

實例演算

以 2024-01-01(星期一)到 2024-12-31(星期二)為例:2024 年是閏年,因此 \(\text{totalDays} = 366\)。\(\text{baseline} = 366 \div 7 = 52\),\(\text{remainder} = 366 \bmod 7 = 2\)。從星期一開始,前兩個星期幾(星期一與星期二)各 +1。結果為:星期一 53 次、星期二 53 次,其餘每個星期幾各 52 次——加總剛好是 366 天。

常見問題

計算結果有含頭尾嗎?有的——起始日與結束日都會算進去。若只有一天(起始日=結束日),總天數即為 1。

如果起始日期比結束日期晚怎麼辦?系統會自動交換兩個日期,因此總天數永遠為正數。

使用哪一種曆法?全程採用外推格里曆(proleptic Gregorian)。對於現代日期,這與日常使用的民用曆完全一致;但 1582 年以前的非常古老日期,可能會與歷史上的儒略曆記載有所出入。

最後更新: