資料來源與計算方式
可信度來自固定版本、可重現算法、清楚分類與誠實限制,而不是把民俗內容包裝成科學保證。
核心函式庫
網站第一階段固定採用開源 lunar-javascript 1.7.7。前端使用固定版本的 CDN 瀏覽器腳本,不使用「最新版」浮動網址;載入失敗時停止需要完整函式庫的功能,不以固定假資料填補。完整函式庫仍未載入時,只保留瀏覽器可顯示的基礎農曆日期,並停止需要完整資料的功能,不以假資料填補。
資料分級
可重現資料
- 國曆與農曆雙向轉換、閏月。
- 星期、國曆星座、農曆生肖。
- 年、月、日干支。
- 二十四節氣日期與交節時刻。
- 國曆與農曆節日對照。
民俗參考資料
- 每日宜忌、沖生肖、煞方。
- 建除十二值日、值日與值時天神。
- 吉時、開工、開市、嫁娶、入宅等擇日篩選。
第二類是依傳統曆書規則產生的文化資訊,不能視為自然科學的因果預測,也不保證任何結果。
時區與日期邊界
網站顯示與「今日」判斷統一採 Asia/Taipei(UTC+8)。建立純日期資料時使用當地中午,降低跨日時區造成的偏移。星期以國曆日期計算。
農曆年、生肖與干支
一般農曆年份與生肖以農曆正月初一為年界;干支的「精確年」與「精確月」使用函式庫依立春及節氣交接的規則。日干支以當日中午建立日期,避免將晚子時換日爭議混入一般日頁。
節氣
節氣日期與時刻使用 lunar-javascript 的節氣表計算,再以台灣時間呈現。節氣是天文曆法資料,但不等於即時天氣;短期預報仍應查官方氣象資料。
宜忌與沖煞
每日宜忌固定使用函式庫的 getDayYi(2) 與 getDayJi(2) 規則。沖生肖使用 getDayChongShengXiao(),煞方使用 getDaySha()。不同曆書或流派可能顯示不同結果,因此頁面一律標示為民俗參考。
吉時規則
網站建立十二個傳統時辰,逐一取得值時天神吉凶,只把 getTimeTianShenLuck() ===「吉」 的時辰列為吉時。顯示區間採前閉後開,例如「寅時 03:00–05:00」實際代表 03:00 ≤ 時間 < 05:00;05:00已屬卯時,不會同時屬於兩個時辰。
找好日子的公開篩選規則
用途頁不使用無來源的精確百分比分數。規則為:宜中出現目標事項或公開列出的相關事項,且忌中沒有出現同類事項,才列入結果。A代表直接符合且值日天神為吉;B代表直接符合;C代表相關事項符合。這只是規則吻合分類,不是成功率。
繁體中文與台灣用語
函式庫部分輸出為簡體中文,前端以固定詞彙與字元對照轉為繁體中文,並將「陰曆/陽曆」等詞統一為本站使用的「農曆/國曆」。新增詞彙時需建立測試,避免錯誤轉換專有名詞。
失敗與降級策略
- 函式庫載入成功:顯示完整計算資料與版本狀態。
- 函式庫載入失敗:不顯示宜忌、沖煞或吉時假值。
- 農曆轉國曆等依賴完整函式庫的功能會停止並提示使用者。
- 不得靜默沿用前一次日期或固定示範資料。
測試與版本管理
- 固定版本1.7.7,升級前先跑回歸測試。
- 測試春節前後、閏月、跨年、立春、節氣交界與子時。
- 抽樣與官方天文曆、政府行事曆及另一套獨立曆法實作交叉比對客觀日期資料。
- 宜忌差異記錄來源與版本,不把不同流派混合成單一「唯一正解」。
- 重大更正顯示更新日期與說明。
SEO與內容原則
日期頁與月份頁應使用同一計算核心預先產生完整HTML,讓搜尋引擎與停用JavaScript的使用者也能看到核心內容。每頁需加入原創白話解釋、實際安全提醒、方法連結與相關頁面,不大量產生只有日期不同的薄內容。
第三方專案與授權
lunar-javascript 為 MIT 授權開源專案。網站保留版本與專案資訊於 第三方軟體說明;正式部署若將程式碼打包進網站,應依授權保留相關聲明。