idf-date-converter について
idf-date-converterは、ヘブライ暦とグレゴリオ暦の日付を扱うスキルです。祝日の日付、二暦表記、イスラエルの営業日数が必要な場合に使え、日没前後の日付や祝日ごとの休業扱いも説明します。
主な機能
- 01ヘブライ暦とグレゴリオ暦の相互変換
- 02ヘブライ数字と二暦表記の生成
- 03イスラエルの祝日と断食日の検索
- 04イスラエルの営業日と休業日の計算
- 05安息日の点灯・終了時刻を調べる手順
活用シーン
- 01イスラエルの書類向け二暦表記
- 02祝日の日付と開始時刻の確認
- 03法定休業日を考慮した営業日数の計算
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ skills-il/ developer-tools --skill idf-date-converterインストール後、Claude Code で/idf-date-converterを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evidence.jsonmetadata.jsonoptimization-log.jsonSKILL_HE.mdreferences/hebrew-calendar-reference.mdscripts/convert_date.py詳細
IDF 日付コンバーター
手順
ステップ 1:リクエストを特定する
| リクエスト | 対応 |
|---|---|
| 特定の日付を変換する | グレゴリオ暦からヘブライ暦、またはヘブライ暦からグレゴリオ暦へ変換 |
| 祝日 X はいつですか? | ヘブライ暦で祝日を調べる |
| 文書用に書式を整える | ヘブライ暦とグレゴリオ暦を併記した日付文字列 |
| 営業日 | シャバットと祝日を除いて数える |
| シャバットの時刻 | 都市の日没時刻/ハブダラー時刻(ステップ 7 を参照) |
ステップ 2:日付変換
Python による変換を使用します。
# Using pyluach library
from pyluach import dates, hebrewcal
# Gregorian to Hebrew
greg_date = dates.GregorianDate(2026, 2, 24)
heb_date = greg_date.to_heb()
print(f"{heb_date.day} {heb_date.month_name()} {heb_date.year}")
# Hebrew to Gregorian (always verify the resulting date by round-tripping)
heb_date = dates.HebrewDate(5786, 11, 15) # 15 Shvat 5786 (Tu B'Shvat). pyluach numbers months from Nisan=1, so Shvat=11
greg_date = heb_date.to_greg()
print(f"{greg_date.day}/{greg_date.month}/{greg_date.year}")
ステップ 3:ヘブライ数字の表記
ヘブライ暦の日付では、ゲマトリア(文字を数字として扱う体系)を使用します。
- 一の位:アレフ=1、ベート=2、ギメル=3、…、テート=9
- 十の位:ヨッド=10、カフ=20、ラメド=30、…、ツァディ=90
- 百の位:クフ=100、レーシュ=200、シン=300、タヴ=400
- 特例:15 はテート・ヴァヴ(ヨッド・ヘーではありません)、16 はテート・ザイン(ヨッド・ヴァヴではありません)
- 年:千の位は省略します(5786 年はタヴ・シン・ペー・ヴァヴと表記し、786 となります)
ステップ 4:二重日付の書式
イスラエルの文書向け:
24 February 2026 / 7 Adar 5786
(5786 年は通常のヘブライ暦年で、閏年ではないため、アダルは 1 つのみで、アダル I/アダル II はありません。二重日付の文字列を印刷する前に、必ず pyluach を実行して確認してください。)
ステップ 5:イスラエルの営業日
イスラエルの営業週は日曜日から木曜日です(多くの業種では金曜日も半日勤務です)。
人々が「祝日」と呼ぶ日がすべて休日とは限らず、この違いによって日数の計算結果が変わります。次の 2 つの区分に分けてください。
| 区分 | 日 | 営業日数への影響 |
|---|---|---|
| 法定休業日 | ロシュ・ハシャナ(2 日間)、ヨム・キプール、スコット初日、シュミニ・アツェレト/シムハト・トーラー、ペサハ初日、ペサハ 7 日目、シャブオット、ヨム・ハアツマウート | 差し引きます。イスラエルの職場、銀行、公共交通機関が法律により休業する日です |
| 記念日・祭日 | プリム、シュシャン・プリム、ヨム・ハジカロン、ヨム・ハショア、ヨム・イェルシャライム、ヨム・ハアリヤー、ラビン記念日、シグド、ホル・ハモエド、ハヌカー、トゥ・ビシュバト、ラグ・バオメル、すべての公共断食日 | 報告しますが、差し引きません。勤務時間が短縮されることはよくありますが、通常は職場は営業しています |
| 祭日前日 | エレブ・ロシュ・ハシャナ、エレブ・ヨム・キプール、エレブ・スコット、ホシャナ・ラバ、エレブ・ペサハ、エレブ・ペサハ 7 日目、エレブ・シャブオット | 半日として報告します。銀行、政府機関、裁判所は正午ごろに閉まり、エレブ・ペサハは正午以降、ほぼ全面休業となります。時間単位で数える場合は半日分を差し引いてください |
シャバット(金曜日の日没から土曜日の日没まで)は常に除外します。選挙日も、指定された場合は除外します。
スクリプトはヨム・イェルシャライムとヨム・ハアリヤーを報告しますが、日付規則をモデル化していないラビン記念日とシグドは意図的に除外します。この 2 つの日は直接調べてください。
エルサレムなど歴史的に城壁に囲まれていた都市では、該当するプリムは 14 日のアダルではなく、**シュシャン・プリム(アダル 15 日)**です。学校や多くの職場が休業するのはこの日です。
scripts/convert_date.py business-days <start> <end> はこの区分をそのまま実装しており、差し引いた休業日とは別に記念日・祭日を一覧表示します。これにより、各自の業種の慣例を適用できます。
ステップ 6:ヘブライ暦の日付は日没に始まる
ヘブライ暦の日付は、午前0時から午前0時までではありません。前日のグレゴリオ暦の日没(shkia)に始まり、翌日の夜間(tzeit hakochavim)に終わります。pyluach を含め、この分野のすべてのライブラリが変換するのは昼間の日付です。GregorianDate(2026, 2, 24).to_heb() が返すのは 5786 年アダル月 7 日です。これは 2 月 24 日の日の出からその日の夕方の日没までなら正しいですが、その後の時間帯では正しくありません。
これは、単なる暦上の日付ではなく、時刻に左右される回答をする場合に重要です。
- 日没後は1日加えます。 2026 年 2 月 24 日の 20:00 に「今日のヘブライ暦の日付は?」と尋ねるユーザーが知りたいのは、アダル月 7 日ではなく 8 日です。回答する前に現地時刻を尋ねるか推定し、どの規則を使ったか伝えてください。
- ヤールツァイト、バル・ミツワー、法的文書の日付は、実際の行事の時刻におけるヘブライ暦の日付に基づきます。23:00 に生まれた場合は、翌日のヘブライ暦の日付になります。
- 祝日は前日の夕方に始まります。 「ヨム・キプールは 2026 年 9 月 21 日です」は、断食が 9 月 20 日の日没に始まることを意味します。このスキルの表に記載されているのは、祝日の昼間に当たるグレゴリオ暦の日付です。これは標準的な表記であり、祝日が始まる夕方の日付ではありません。
- 日没時刻を自分で計算しないでください。 場所によって異なり、天文ライブラリまたは API が必要です。geonameid を使って hebcal の zmanim エンドポイントを利用するか、回答が昼間を前提としていることを明示してください。
同梱スクリプトは意図的に推測を行わず、昼間のヘブライ暦の日付を返します。時刻が関係する質問では、夕方の日付に自分で調整してください。
ステップ 7:シャバットと祝日の時刻
キャンドル点灯とハブダラは天文現象に基づくもので、暦上の日付から導き出すことはできません。計算や推定はしないでください。都市の geonameid を指定して Hebcal の Shabbat エンドポイントに問い合わせてください。
https://www.hebcal.com/shabbat?cfg=json&geonameid=281184&M=on
イスラエルでよく使われる geonameid:エルサレム 281184、テルアビブ 293397、ハイファ 294801、ベエルシェバ 295530。
この分野で大半の誤りを引き起こす慣習が 2 つあります。
- キャンドル点灯までの時間は一律ではありません。 Hebcal のデフォルトは日没 18 分前ですが、エルサレムでは 40 分前、ハイファとジクロン・ヤアコブでは 30 分前です。これは地域の慣習に合わせたものです。ユーザーが別の慣習を指定した場合に限り、
b=<minutes>で上書きしてください。全国一律で 18 分前だと決めつけないでください。 - ハブダラには複数の慣習があります(
M=onは太陽の高度に基づく夜間を使います。もう一方はm=<minutes>で指定する日没からの固定分数を使います)。どちらを使ったか明示してください。
同じエンドポイントから、ロシュ・ハシャナ、ヨム・キプール、スコット、シェミニ・アツェレット、シムハット・トーラー、ペサハ、シャブオットの前夜のキャンドル点灯時刻も取得できます。
イスラエルの祝祭日と断食日、2026年のグレゴリオ暦換算
すべて2026暦年の換算日です。ヘブライ暦の月が2つのヘブライ暦年にまたがる場合(ティシュレイ月が次のヘブライ暦年に入る場合)、その祝祭日が実際に該当するヘブライ暦年を記載しています。
| 祝祭日/断食日 | ヘブライ暦の日付 | 2026年のグレゴリオ暦(概算) | ヘブライ暦年 |
|---|---|---|---|
| トゥ・ビシュバット | 15 Shvat | Feb 2 | 5786 |
| エステルの断食(Ta'anit Esther) | 13 Adar | Mar 2 | 5786 |
| プリム | 14 Adar | Mar 3 | 5786 |
| シュシャン・プリム | 15 Adar | Mar 4 | 5786 |
| ペサハ | 15-21 Nisan | Apr 2-8 | 5786 |
| ヨム・ハショア | 27 Nisan | Apr 14 | 5786 |
| ヨム・ハジカロン | 4 Iyar | Apr 21 | 5786 |
| ヨム・ハアツマウート | 5 Iyar | Apr 22 | 5786 |
| ラグ・バオメル | 18 Iyar | May 5 | 5786 |
| シャブオット | 6 Sivan | May 22 | 5786 |
| 17タンムーズの断食(Shiv'a Asar B'Tammuz) | 17 Tammuz | Jul 2 | 5786 |
| ティシャ・ベアブ(9 Av) | 9 Av | Jul 23 | 5786 |
| ロシュ・ハシャナ | 1-2 Tishrei | Sep 12-13 | 5787 |
| ゲダリヤの断食(Tzom Gedaliah) | 3 Tishrei | Sep 14 | 5787 |
| ヨム・キプール | 10 Tishrei | Sep 21 | 5787 |
| スコット | 15-21 Tishrei | Sep 26 - Oct 2 | 5787 |
| シムハット・トーラー | 22 Tishrei | Oct 3 | 5787 |
| ハヌカ(5787) | 25 Kislev - 2 Tevet | Dec 5-12, 2026 | 5787 |
| 10テベットの断食(Asarah B'Tevet) | 10 Tevet | Dec 20 | 5787 |
ハヌカに関する注記:5787年のハヌカは2026年12月4日の夕方に始まり(最初のろうそくに火を灯します)、グレゴリオ暦で最初の丸一日は2026年12月5日(25 Kislev)です。2026年12月12日(2 Tevet)に終わります。表では、2026暦年に該当する5787年のハヌカを記載しています。
本番環境で使用する前に、必ず pyluach で日付を確認してください。上記の修正済み日付は、最初に公開された2026年の換算表で約半数の日付に1日のずれがあったため、v2.0.0で再生成されました。
ヨム・ハジカロン/ヨム・ハアツマウートの日付移動規則
クネセトは、安息日の冒涜を避けるため、ヨム・ハジカロンとヨム・ハアツマウートの日付移動を法制化しました。日付を出力する前に、以下の規則を適用してください。
- 5 Iyarが金曜日または土曜日に当たる場合、ヨム・ハアツマウートは前倒しされ、木曜日(4 Iyarまたは3 Iyar)になります。ヨム・ハジカロンも同様に移動します。
- 5 Iyarが月曜日に当たる場合、ヨム・ハアツマウートは後ろ倒しされ、火曜日(6 Iyar)になります。これにより、安息日と重なる土曜日の夜に式典が始まることを避けます。
- 5 Iyarが月曜日、水曜日、金曜日、土曜日以外に当たることはありません。水曜日に当たる場合、日付移動はありません。
- ヨム・ハショア(27 Nisan)も同様に日付が移動します。金曜日に当たる場合は木曜日(26 Nisan)に、日曜日に当たる場合は月曜日(28 Nisan)に移動します。
これらの規則には適用開始年があり、過去の年に適用すると、エラーが表面化しないまま発生します。 ヨム・ハアツマウートは1949年に法律で国の祝日となり、金曜日/土曜日の日付移動は1951年に決定されました。月曜日の場合の延期が適用されるようになったのは2004年以降です。ヨム・ハジカロンは1951年に制定され(1963年に法律化)、ヨム・ハショアを27 Nisanとすることは1951年のクネセト決議に基づきます。1950年代から1990年代までの日付換算に現在の規則を適用すると、2004年以前で月曜日に当たる年はすべてヨム・ハアツマウートが1日ずれ、制定前の年についても3つすべての日付が出力されます。scripts/convert_date.py は各規則をそれぞれの適用開始年に基づいて適用します。
2026年は5 Iyarが水曜日(Apr 22)に当たるため、日付移動はありません。2026年から2035年までの10年間のうち6年(2028年、2029年、2031年、2032年、2034年、2035年)では日付移動が必要です。そのため、これらの規則を適用せずに作成した参照表は、正しい場合よりも誤っている場合のほうが多くなります。scripts/convert_date.py はこれらの規則を適用します。
断食日の延期(nidcheh)
公的な断食がシャバットに行われることはなく、日付が移動する4つの断食日は、すべて同じ方向に移動するわけではありません。
- **ツォム・ゲダリア(3ティシュレイ)、17タンムーズ、ティシャ・ベアヴ(9アヴ)**は、シャバットにあたる場合、翌日曜日に延期されます。
- **タアニット・エステル(13アダル)**は、プリムより前に行う必要があるため、前の木曜日(11アダル)に繰り上げられます。
- **アサラ・ベテベット(10テベット)**は金曜日にあたることがありますが、シャバットにあたることはないため、移動しません。
閏年には、タアニット・エステル、プリム、シュシャン・プリムはアダルI(第12月)ではなくアダルII(pyluachの第13月)にあたります。閏年にプリムの日付を調べる際、第12月を指定すると、1か月早い日付が返されます。
例
例1:簡単な日付変換
ユーザーの質問:「今日のヘブライ暦の日付は?」 結果:「2026年2月24日 = 5786年アダル7日」(5786年は平年のため、アダルは1つだけで、アダルI/アダルIIはありません)
例2:祝日の確認
ユーザーの質問:「2026年のペサハはいつですか?」 結果:「ペサハは2026年4月1日の夕方(5786年ニサン15日)に始まります。最初のセデル:4月2日。イスラエルでの最終日:4月8日。」
例3:営業日
ユーザーの質問:「2026年3月1日から3月31日までの営業日は何日ですか?」 結果:シャバットを除外して数え、その期間に祝日がある場合は記載します(3月3日のプリム、3月4日のシュシャン・プリム)。
同梱リソース
スクリプト
scripts/convert_date.py, ヘブライ暦とグレゴリオ暦の日付を相互変換し、イスラエルの文書向けに両暦の日付を整形し、任意の年のイスラエルの祝日を一覧表示し、日付範囲内のイスラエルの営業日を数えます(シャバットと祝日を除外)。pyluachライブラリが必要です。実行方法:python scripts/convert_date.py --help
参考資料
references/hebrew-calendar-reference.md, 月名と月の日数の変動、19年周期のメトン周期による閏年、特殊なケースを含むゲマトリア(ヘブライ数字)変換表、休業日と部分休業日の区別を含むイスラエルの祝日カレンダー、おすすめのPythonライブラリ(pyluach、hebcal)を網羅したヘブライ暦の完全なリファレンスです。閏年の例外処理、ヘブライ数字の書式設定、営業日計算に影響する祝日の判定を行う際に参照してください。
注意点
- ヘブライ暦では月の日数が変動し(29日または30日)、閏年には1か月(アダルII)が丸ごと追加されます。エージェントが月の日数を固定だと想定したり、グレゴリオ暦の閏年ルールを当てはめたりすることがあります。
- イスラエルの公的文書ではヘブライ暦の日付(例:「כ"ה באדר תשפ"ו」)が使われ、ビジネス文書ではグレゴリオ暦のDD/MM/YYYYが使われます。エージェントは、どの状況でどちらの形式を使うべきか判断できない場合があります。
- ユダヤ教の祝日は、年ごとにグレゴリオ暦上の日付が変わります。静的な学習データに基づくエージェントは、今年のロシュ・ハシャナやペサハなどの日付を誤って示すことがあります。
- ヘブライ暦の年は1月ではなく、ティシュレイ(9月/10月)に始まります。エージェントは、グレゴリオ暦の新年に近い日付を変換する際、ヘブライ暦の年の境界を誤って計算する場合があります。
- ヨム・ハジカロン、ヨム・ハアツマウート、ヨム・ハショアには、シャバットとの重複を避けるため、法律で定められた曜日に応じた日付の移動があります。曜日を確認せずに「5イヤル」と固定した静的な一覧表では、約半数のケースで誤った日付が出力されます。必ず上記の日付移動ルールを適用してください。
- ハヌカは通常、2つのグレゴリオ暦年にまたがります(12月下旬から1月上旬)。グレゴリオ暦の年を示す列に記載する場合、その年の範囲内に25キスレブが実際に含まれるヘブライ暦の年を選んでください。同じ行に5786年と5787年の日付を混在させるのは、よくある間違いです。
参考リンク
| 出典 | URL | 確認事項 |
|---|---|---|
| Hebcal ユダヤ暦 | https://www.hebcal.com | 祝日の正式な日付。イスラエルでの慣習に合わせるには、イスラエルのスケジュールを設定します |
| Hebcal 開発者向け API | https://www.hebcal.com/home/developer-apis | 祝日一覧、日付変換、ゼマニム(日没)の REST エンドポイント |
| pyluach | https://github.com/simlist/pyluach | 参照用の Python 実装。月の番号付けとうるう年の処理を確認できます |
| ヨム・ハアツマウトの日付変更 | https://en.wikipedia.org/wiki/Yom_Ha%27atzmaut | 1951 年と 2004 年の日付変更に関する決定 |
| ヘブライ数字 | https://en.wikipedia.org/wiki/Hebrew_numerals | ゲマトリア表と 15/16 の例外 |
トラブルシューティング
エラー:「ヘブライ暦の日付が正しくありません」
原因:ヘブライ暦の月の長さは一定ではなく、うるう年の月が分かりにくいためです。 解決方法:hebcal.com で確認してください。アダル I/II があるのはうるう年だけです。現在の年(5786)がうるう年かどうかによって、日付が変わります。
エラー:プーリーム前後の日付変換結果がちょうど 1 か月ずれています
原因:うるう年では、pyluach はアダル I を月 12、アダル II を月 13 として扱います。呼び出し側が直感的に「アダル」を探す月は 12 です。プーリームはアダル II にあります。
解決方法:月番号を選ぶ前に、うるう年かどうかで分岐します:13 if year % 19 in {0,3,6,8,11,14,17} else 12。convert_date.py to-gregorian は、うるう年の月 12 を「アダル I」と表示するため、誤りが結果に明示され、見過ごされません。
エラー:日付変換結果がちょうど 1 日ずれています
原因:ほとんどの場合、ヘブライ暦の日付の切り替わり時刻が原因です(ステップ 6 を参照)。ライブラリは昼間の日付を返したのに、質問は夜のことだった、またはその逆です。ずれがちょうど 1 日で、複数の日付で再現される場合、うるう年や月の日数が原因ではないことを確認済みです。 解決方法:事象が起きた現地時刻を確認します。日没後であれば、ライブラリの結果に 1 日を加えます。