算術イラン暦から西暦変換|2820年周期の日別一覧

算術イラン暦から西暦変換|2820年周期の日別一覧

2820年周期の算術イラン暦(ペルシャ暦)を、グレゴリオ暦・ユリウス暦・算術ヒジュラ暦・曜日・JDNへ日別変換します。

入力

Farvardinを第1月、Esfandを第12月として選びます。

年0は使用しません。12月開始の1暦年表示も西暦9999年内へ収まる安全上限です。

開始月1日から、選んだ暦で1・2・6か月後または翌年同月の月初直前までを表示します。

イスラム暦列だけに適用します。観測に基づく公式宗教日程とは異なる場合があります。

使い方

  1. 算術イラン暦の開始月、年、表示期間、ヒジュラ暦方式を選びます。
  2. 計算し、両西暦・ヒジュラ暦・曜日・JDNを同じ行で確認します。
  3. 公的用途では2820年算術方式であることを記録し、イランの公式暦と照合します。

計算式・考え方

epyear=474+mod(y−474,2820)とし、JDN=1948320+1029983floor((y−474)/2820)+365(epyear−1)+floor((31epyear−5)/128)+monthOffset+dを整数評価します。

注意事項

  • 算術イラン暦から西暦変換では、開始月、正の算術年、表示期間、併記する算術ヒジュラ方式を選びます。各イラン暦日を直接JDNへ変換し、そのJDNからグレゴリオ暦、ユリウス暦、曜日、ヒジュラ暦を作るため、複数の段階変換による丸めを挟みません。
  • 1403年Farvardin 1はグレゴリオ暦2024年3月20日、ユリウス暦2024年3月7日です。1404年Farvardin 1も算術方式では2025年3月20日となり、ここで公式天文学暦との差を確認できます。結果を引用するときは『2820年算術方式』という注記を外さないでください。
  • 公開上限は9376年です。開始月にEsfandを選んで1暦年を表示しても、翌9377年Esfand直前までの全行がJDN上限・西暦9999年内に収まるよう、単にFarvardin開始だけで決めず最も厳しい月境界から設定しています。
  • FarvardinからShahrivarまでは31日、MehrからBahmanまでは30日です。Esfandだけは算術閏年で30日、平年で29日になるため、1年表示では月境界と閏日の両方を連続したJDNで確認できます。
  • 歴史資料にSolar Hijri年が書かれていても、その資料が天文学方式、33年近似、2820年近似のどれを採用したか不明な場合があります。まず原資料の作成国・時期・制度を確認し、結果が1日違う場合は方式差を疑ってください。
  • この2ページでいうイラン暦・ペルシャ暦は、2820年を一周期とする決定論的な算術モデルです。現行イランの公式暦はテヘラン付近の春分を基準とする天文学的な暦であり、同じSolar Hijriという名称でも計算根拠が異なります。本ツールは参照ページとの互換性と再現性を優先し、ページ名、結果説明、注意事項で必ず『算術』と明記します。
  • 参照ページを実測すると、算術年1404年Farvardin 1はグレゴリオ暦2025年3月20日になります。一方、公式天文学暦および公式期間を近似するICU方式では2025年3月21日です。この1日差は誤差を隠す対象ではなく、2820年算術方式を識別する重要な既知点です。公文書、祝日、契約、査証、出生証明などにはイラン側が公表した公式暦を確認してください。
  • 算術暦元はJDN 1948321で、ユリウス暦622年3月19日、prolepticグレゴリオ暦622年3月22日、算術イラン暦1年Farvardin 1を同じ暦日として結びます。すべての行は整数Julian Day Numberを共通の橋にして換算するため、端末の地域設定やタイムゾーンで日付が変わりません。
  • 年の計算ではyから2820年周期内の年eyを求め、平年365日を積み上げ、周期内の閏日数を整数のfloor演算で加えます。1〜6月は各31日、7〜11月は各30日、Esfandは平年29日・算術閏年30日です。存在しないEsfand 30を翌月へ繰り越すような曖昧な補正は行いません。
  • 年0や負の年は公開入力として認めません。参照ページが年0を受理しても、一般的なイラン暦年号と混同しやすいため修正対象としました。元期より前、入力上限より後、小数年、NaN、Infinity、未知の選択値、未使用または重複した入力はエラーとして止めます。
  • 表示期間は開始月の1日を含み、選んだ元暦で1・2・6か月後または翌年同月の1日を含まない半開区間です。1か月を30日へ固定せず、イラン暦なら29〜31日、西暦なら28〜31日、1暦年なら365日または366日を行ごとに列挙します。最大385行の共通上限内で全日を省略しません。
  • グレゴリオ暦とユリウス暦は、歴史上の導入日や廃止日を自動判定せず、各閏年規則を前後へ数学的に延長するproleptic calendarです。史料の日付を換算するときは、その地域と時代が実際に採用した暦法を別途確認し、結果列の名称とJDNを一緒に保存してください。
  • 曜日はJavaScript Dateへ渡さず、整数JDNの7日周期から月曜日〜日曜日を直接決めます。同一JDNのイラン暦、グレゴリオ暦、ユリウス暦、算術ヒジュラ暦は必ず同じ曜日です。改暦で表記日が異なる場合も、曜日とJDNを使って一日ずれを検算できます。
  • 算術ヒジュラ暦列はStandard、参照Kuwaiti、Fatimidの3方式から選びます。これは月の観測、地域宗教当局の宣言、日没後の境界を再現するものではありません。同じcivil dateでも実際の宗教日は場所と時刻で変わり得るため、礼拝や宗教行事には公式発表を優先してください。
  • 算術イラン暦元から算術ヒジュラ暦元までの初期約118日は、正のAH年へ変換できません。その行は年0や負のヒジュラ年を創作せず『イスラム暦元期前』と表示します。イラン暦とヒジュラ暦は名前に暦を含んでも、一方が太陽暦、他方が太陰暦であり、年や月の進み方は一致しません。
  • 日付は時刻を持たない暦日として扱います。春分の瞬間、テヘランの真太陽正午、UTC、夏時間、経度、日没、日の出は入力も計算もしません。そのため公式天文学暦のFarvardin 1を求める機能ではなく、2820年算術規則によるラベル対応表として利用してください。
  • 結果は利用者のブラウザー内だけで計算します。JavaScript Date、現在時計、外部API、fetch、XMLHttpRequest、WebSocket、CDN暦ライブラリ、位置情報、Cookie、ファイルアップロードを使用しません。入力した年月、方式、生成した表をサーバーへ送信せず、利用者側のCPUとメモリだけを使います。
  • 結果セルは1〜192 UTF-16 code unitの単行文字列として検証し、制御文字を拒否します。TSVコピーでは表計算ソフトの自動日付変換や数式解釈に注意し、暦法名とJDN列を残してください。狭い画面では表領域だけを横スクロールさせ、列を削除せず既存サイトのフォントと余白を継承します。
  • 正常例、算術暦元、2025年の方式差、入力上限、元期前、年0の不正例を固定テストにします。Python整数実装、独立した算術oracle、ブラウザーJavaScriptをJDN、月長、往復変換、代表セル、行数で照合し、1024pxと375pxの実ブラウザでも操作・折返し・横スクロールを確認します。
  • ページ先頭にはcalculator-firstで入力欄、計算ボタン、結果表を配置し、その下へ使い方、式、公式暦との差、範囲、FAQを掲載します。既存ページのデザイン、フォント、余白を継承し、本文・追加CSS・追加JavaScriptの3点で完結できる構成をローカルに生成します。
  • builderはWordPress本文、追加CSS、追加JavaScript、preview、manifest、QA記録の元定義をローカルへ保存するだけです。WordPressの下書き作成、記事更新、公開操作は行いません。ユーザーから明示的な公開指示があるまでready-localで管理し、公開時も1ページ1ツールを維持します。
  • Reingoldの公開暦算法、Unicode ICUの公式暦と各近似方式の説明、US Naval ObservatoryのJDN資料を照合しました。参照URLと確認日はレビュー用メタデータに固定し、実行時には接続しません。式、適用範囲、2025年の差の最終確認日は2026年7月15日です。
  • 2820年周期の算術暦による学習・照合用です。イラン公式暦、祝日、公文書、宗教日程を自動確定しません。

よくある質問

イランの公式暦と同じですか?

いいえ。参照互換の2820年算術方式です。公式暦はテヘラン付近の春分を基準にするため、2025年などで1日違います。

年0を入力できますか?

できません。正の年号だけに限定し、参照ページが受理する年0は曖昧さを避けるため拒否します。

ヒジュラ暦列は宗教日程に使えますか?

算術方式の参考値です。観測や地域当局の公式発表を優先してください。

入力した暦法、年月、期間、方式と生成結果はこの端末のブラウザー内だけで処理し、外部へ送信・保存しません。