這個計算機能做什麼
只要輸入任何一個日期,就能立刻得知那天是星期幾(週一到週日)。無論是規劃結婚紀念日、安排未來的約會行程、查詢某個歷史事件發生在星期幾,或單純想知道某個特定日期會落在週幾,都能派上用場。
運作原理
本計算機採用「外推格里曆」(proleptic Gregorian calendar),也就是把現行的公曆往前回推到歷史上的任何時間點,不管各地實際上是何時才採用這套曆法。程式內部透過 Java 的 LocalDate.getDayOfWeek() 來計算星期,這個方法沒有臭蟲,對於 ±10⁶ 年內的任何年份都能正確運算。
像蔡勒公式(Zeller's Congruence)和末日演算法(Doomsday Algorithm)這類手算方法也會得到相同結果,它們的公式以年、月、日為輸入,再回傳一個 0–6 的數字對應到星期幾。
蔡勒公式(給好奇的你)
其中:
- q=該月的第幾日
- m=月份(3=三月……14=前一年的二月;一月與二月會被視為前一年的第 13 與第 14 個月)
- K = 年份 \bmod 100
- J = ≤ft\lfloor 年份 / 100 \right\rfloor
- h=0(星期六)、1(星期日)、2(星期一)……
末日演算法(更適合心算)
這是數學家約翰.康威(John Conway)提出、可以用心算推算星期幾的方法。每一年都有一個「末日」(Doomsday)-也就是 4/4、6/6、8/8、10/10、12/12 這幾個日期固定會落在的同一個星期,外加 9/5(有些寫法記為 5/9)、7/11、11/7。只要知道某一年的末日是星期幾,就能往前或往後推算到任何一個日期。
2000 年代的末日是星期二。因此 2024 年 4 月 4 日是星期四(……等等,還是用計算機驗證一下比較保險)。
曆法小知識
- 格里曆(公曆)。1582 年由天主教國家率先採用(為了校正季節,當年直接跳過 10 月 5 日到 14 日)。英國及其殖民地則遲至 1752 年才改用(跳過 9 月 3 日到 13 日)。本計算機一律以格里曆計算所有日期。請注意,東亞地區的傳統農曆(陰曆)屬於另一套系統,本工具並不適用於農曆日期。
- 閏年。能被 4 整除的年份為閏年,但「整百年」(能被 100 整除)必須同時能被 400 整除才算閏年。所以 2000 年是閏年,1900 年則不是。
- 沒有「西元 0 年」。在西元(Anno Domini)紀年中並不存在 0 年-西元前 1 年的下一年就是西元 1 年。計算機底層使用的程式庫採用 ISO-8601 編號,其中第 0 年即代表西元前 1 年。
常見用途
- 查生日:「我出生那天是星期幾?」-拿來玩冷知識或研究星象都很合適。
- 規劃紀念日:「我們在 2049 年的 25 週年紀念日會是星期幾?」
- 歷史研究:把日記內容與事件實際發生的星期對照核實。
- 安排行程:訂位或預約前,先確認某個未來日期是不是落在週末。
使用注意事項與精準校對原則(6 大核心守則)
📐 1. 嚴格對齊輸入量綱與單位
輸入各項數值時請務必確認量綱(例如小時、天數、金額、百分比),避免單位不匹配引發推算偏差。
🔒 2. 純前端本機毫秒級隱私保障
所有計算邏輯 100% 在您的終端瀏覽器內完成,資料絕不上傳伺服器,嚴格守護商業與個人隱私。
📊 3. 符合公認學術與產業計算模型
演算法嚴格遵循國際通用數學公式與標準計算模型,經多重情境交叉核對,數值嚴密精確。
📋 4. 一鍵複製與免登入 PDF 匯出
支援一鍵複製推算結果字串至剪貼簿,亦可直接點擊列印按鈕輸出純淨 PDF 工作報表。
🔄 5. 多情景敏感度動態對比
建議針對極端值與多組預期情景分別試算,觀察輸出數據的波動區間,輔助做出更穩健的決策。
🛡️ 6. 專業諮詢與日常參考免責聲明
本工具運算結果供日常排程、學業研習與事前參考之用,如涉及重大法規或投資決策請諮詢持證專家。