カレンダーの方法論
当社のカレンダーエンジンは、決定論的な天文学および宗教のアルゴリズムと、主要な政府立法および法定法令に対する継続的な検証を組み合わせています。
1. 決定論的マルチカレンダーエンジン
世界中の祝日は、多様な数学的および文化的システムに従っています。当社のパイプラインは、4つの主要なカレンダーメカニズムをモデル化しています。
固定されたグレゴリオ暦の日付:固定されたカレンダーの日付に該当する国民の祝日および歴史的記念日(例:7月4日、1月1日)。
天文学的および分至点・分点計算:正確な天球座標を使用して計算された、至点、分点、および二十四節気。
太陰暦および太陰太陽暦:標準的な月相の可視性モデルによって計算され、国の宗教的権威の布告に対して検証された、イスラムヒジュラ暦、中国の旧正月、ディワリ、仏教の行事。
コンプトゥス(復活祭計算)アルゴリズム:西洋(グレゴリオ暦)および東方正教会(ユリウス暦)の復活祭のサイクルと、それに依存する移動祝日(聖金曜日、昇天祭、聖霊降臨祭月曜日、聖体祭)。
2. 法定立法と公式法令
数学モデルは生のデータを提供しますが、制定法が法的休息を規定します。私たちは、計算されたすべての発生を、労働法、国会法、官報、大統領令などの主要な法的文書と照らし合わせて検証します。
標準的なライブラリが法改正を省略していたり、古いルールを使用していたりする場合、当社の手動オーバーライドレジストリ(data/holiday-overrides.ts)が検証済みの法定制の修正を適用します。
3. 振替休日と週末シフトのモデリング
祝日計画において最も重要な側面の1つは、法定祝日が週末と重なった場合に何が起こるかを決定することです。
当エンジン体系的に国の補償規則をエンコードしています:次の月曜日への自動シフト(例:英国、オーストラリア、米国)、前の金曜日へのシフト、または次に利用可能な労働日のルール(例:アルバニア、南アフリカ)により、正確な労働日数が保証されます。
4. 継続的な法的監査と回帰テスト
すべての国のカレンダーは、回帰を防ぐために自動化されたスナップショット検証(npm run holidays:validate:snapshots)の対象となります。一方、当社の継続的なモニタリングパイプラインは、新しく制定された法律、一回限りの銀行の休日、世界中の王室または大統領の法令を追跡します。