日付からマヤ長期暦へ
この変換ツールは、明示されたグレゴリオ暦の日付を、マヤ長期暦の5つの位であるバクトゥン、カトゥン、トゥン、ウィナル、キンへ変換します。584,283のGoodman-Martinez-Thompson相関を採用し、入力を厳密にUTCの暦日として扱うため、端末のタイムゾーンや夏時間によって結果が変わることはありません。回答にはドット区切り表記、ユリウス日番号、計算に用いた経過日数も含まれ、変換結果の確認、引用、テスト、組み込みを容易に行えます。
無料で実行
正確なグレゴリオ暦の日付をご入力ください
日付は厳密なYYYY-MM-DD形式で入力し、月または日が1桁の場合は先頭に0を付けてください。たとえば2012年12月21日は2012-12-21と入力します。本ツールは0001年から9999年までを受け付け、この全範囲に先発グレゴリオ暦を適用します。したがって、各国がグレゴリオ暦を正式に採用する以前の歴史的期間にも、通常のグレゴリオ暦のうるう年規則をさかのぼって適用します。入力はタイムスタンプではなく暦日です。時刻、オフセット、場所、夏時間の切り替え、暗黙の現在日は含まれません。この区別により、どの環境で繰り返し実行しても安定した結果を得られます。2023-02-29のような存在しない日付、形式が不正な値、タイムスタンプ、未入力の日付は、黙って補正せずエラーとして扱います。史料がユリウス暦を使用している場合は、まず対応するグレゴリオ暦の日付へ変換してください。入力規則を明確にすることで、暦の指定違いがマヤ暦計算の誤りに見える問題を防ぎます。
相関と計算方法をご確認ください
長期暦の変換には、マヤの年代体系と、現代の暦計算で用いられるユリウス日番号体系との相関が必要です。本ツールは584,283のGoodman-Martinez-Thompson、すなわちGMT相関定数を明示して採用します。最初に、入力された先発グレゴリオ暦の日を整数演算で整数のユリウス日番号へ変換します。次に584,283を引き、相関させた長期暦の紀元から経過したキンの総数を求めます。その総数を大きな単位から順番に分解します。1バクトゥンは144,000日、1カトゥンは7,200日、1トゥンは360日、1ウィナルは20日、1キンは1日です。バクトゥン値は13の後で人為的に循環させないため、13.0.0.0.0より後の日付も順序と一意性を保ちます。別の学術的な相関説では、同じグレゴリオ暦の日に異なる長期暦が割り当てられる場合があります。そのため、出力される相関ラベルとユリウス日番号は重要です。どの規約で結果を得たかを示し、途中の値を独立して検証できるようにします。
出力項目の読み方と利用方法
主な結果は、baktun.katun.tun.uinal.kinの順で並ぶドット区切りのlong_count文字列です。同じ5つの位を個別の整数項目としても返すため、並べ替え、表示テンプレート、データベースの列、追加計算に便利です。total_daysは選択した相関紀元から経過したキンの総数を示し、julian_day_numberはグレゴリオ暦の日付に対応する中間的な日番号を記録します。dateは検証済みの入力をそのまま再掲し、correlationは使用したGMT定数を示します。実装は範囲の決まった整数演算だけを行い、時計、プラットフォームの日付解析、乱数生成器、外部サービスを一切利用しません。そのため、同じ入力からは常に同じJSONが得られます。教育用年表、博物館の目録、再現可能な研究ノート、テスト用データ、API処理に適しています。個別の確認にはブラウザー版を利用でき、自動リクエストは1件あたり$0.002です。結果を公開または共有する際、特に異なる相関規約を使う可能性のある資料と比較する場合は、相関ラベルも必ず保存してください。
活用例
歴史年表へ注記する
展示、記事、授業用年表のグレゴリオ暦日付に、一貫した相関によるマヤ長期暦を併記できます。
目録レコードを検証する
保存済みのグレゴリオ暦日付から長期暦表記を再計算し、監査用に相関とユリウス日番号を保持できます。
再現可能な日付テストを作成する
システムのタイムゾーンや日付解析に依存せず、ソフトウェア試験用の決定的な暦変換例を生成できます。
よくある質問
どのマヤ暦相関を使用していますか?
584,283のGoodman-Martinez-Thompson相関定数を使用し、すべての結果にその規約を明記します。
各位置は何を表しますか?
左からバクトゥン、カトゥン、トゥン、ウィナル、キンで、それぞれ144,000日、7,200日、360日、20日、1日の単位です。
タイムゾーンによって回答は変わりますか?
いいえ。入力を明示的なUTC暦日として扱い、計算では時計やローカルタイムゾーンを参照しません。
別の変換ツールと値が異なるのはなぜですか?
異なる相関定数の採用、史料の日付をグレゴリオ暦ではなくユリウス暦として解釈、またはタイムスタンプのローカル解析が考えられます。
API変換の料金はいくらですか?
APIリクエスト1件につき$0.002です。個別の変換は、APIを呼び出さずブラウザー版で行えます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/maya-long-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2012-12-21"}'const res = await fetch("https://api.kit.forhosting.com/date/maya-long-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2012-12-21"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/maya-long-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2012-12-21"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/maya-long-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2012-12-21"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2012-12-21"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/maya-long-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2012-12-21"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.maya_long_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |