生まれ年から中国の十二支と五行を判定する計算ツール
生まれ年を入力すると、伝統的な60年周期に基づく中国の十二支の動物と五行を判定できます。一般的な12種類の動物だけでなく、木・火・土・金・水の要素、陰陽、対応する十干と十二支名も返します。固定された剰余演算を使うため、結果は即時かつ再現可能です。外部の暦サービスに依存せず、検索、教材、フォーム、構造化された干支データを扱うアプリにご利用いただけます。
無料で実行
年の判定結果が表す内容をご確認ください
中国の十二支は12種類の動物が繰り返す仕組みとして紹介されることが多いですが、年の完全な呼び名には五行のいずれかと陰陽も含まれます。これらは12の地支と10の天干を組み合わせて決まります。二つの系列の長さが異なるため、同じ組み合わせが再び現れるのは60年後です。この計算では、動物、五行、陰陽、天干、地支、60年周期内の位置を個別に返します。12歳違いの方は通常同じ動物になりますが、天干の系列が進むため五行は異なる場合があります。まとめたラベルは表示に便利で、分離された項目はソフトウェア、表、絞り込み、テンプレートに適しています。結果は伝統的な年の分類としてお使いください。性格、相性、健康、運勢、将来を科学的に評価または予測するものではありません。
60年周期の計算方法をご説明します
計算では1984を周期の第1位置に設定します。この年は陽の木の鼠で、天干と地支では甲子です。入力年から4を引くことで、グレゴリオ暦の年番号を鼠と甲の開始位置に合わせます。12の正の剰余で動物と地支を、10の剰余で天干、五行、陰陽を選び、60の剰余で1から60までの位置を求めます。正の剰余を使うため、一般的な現代の例より前の年でも系列が崩れません。現在時刻、地域設定、通信、乱数、外部の暦データは結果に関与しません。同じ有効な整数からは常に同じオブジェクトが得られます。整数値と厳密な整数文字列を受け付け、前後の空白や明示的な符号も利用できます。小数、指数表記、未入力、安全範囲外の整数、数字で始まるだけの文章はエラーになります。
実際のアプリで正確にご利用いただくために
グレゴリオ暦の生まれ年だけから伝統的な干支分類が必要な場合にご利用ください。プロフィール情報の追加、授業課題、催事のテーマ、カードの個別化、早見表、文化紹介の簡易機能などに適しています。ただし、伝統的な干支の年は1月1日ではなく旧正月に切り替わります。1月または2月初旬に生まれた方は、正確な日付とその年の旧正月によって前年の干支になる可能性があります。この機能は年だけを受け取るため、その境界は判定できません。厳密な結果が必要な場合は生年月日全体を取得し、旧暦に対応したツールをご利用ください。ラベルを解析するより、動物や五行の構造化項目を保存すると翻訳や検索が容易です。APIリクエスト1件の料金は$0.002です。不正な入力は明示的なエラーとなり、小数の丸め、文章からの数字抽出、現在年への自動置換は行いません。
活用例
生まれ年からプロフィールを補足
生まれ年しかない場合でも、動物、五行、陰陽、天干、地支を構造化項目として追加できます。
周期を学ぶ早見表を作成
12の動物と10の天干が60年の反復系列を作る仕組みを、一貫した例で示せます。
テーマ付きコンテンツを個別化
別の対応表を管理せず、安定した年の結果から画像、文章、カテゴリを選択できます。
よくある質問
1回の料金はいくらですか?
APIリクエスト1件につき$0.002です。
動物に加えて五行が返るのはなぜですか?
動物は12の地支、五行は10の天干に従います。両者の組み合わせが完全な60年周期を構成します。
旧正月を考慮していますか?
いいえ。グレゴリオ暦の年番号だけを対応付けます。旧正月付近の出生では、正確な日付と旧暦対応の計算が必要な場合があります。
年を文字列で送信できますか?
はい。任意の符号と数字だけからなる文字列を受け付けます。小数、指数、空欄、混在した文章は拒否されます。
周期内の位置とは何ですか?
1984を第1位置として、反復する天干と地支の周期内を1から60で示した番号です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/misc2/chinese-zodiac-from-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":1990}'const res = await fetch("https://api.kit.forhosting.com/misc2/chinese-zodiac-from-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 1990
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/chinese-zodiac-from-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 1990
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/chinese-zodiac-from-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":1990}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":1990}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/chinese-zodiac-from-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"year": 1990
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.chinese_zodiac_from_year",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |