修正ユリウス日からグレゴリオ暦UTC日時への変換
この変換ツールは、修正ユリウス日(MJD)の値を先発グレゴリオ暦の日付とUTC時刻へ変換します。使用する情報は入力された数値だけです。現在時刻を参照せず、タイムゾーンを推測せず、ネットワークサービスへ接続せず、端末の地域設定にも依存しません。整数のMJDはUTCの午前0時を表し、小数部分はその時点からの経過時間を表します。結果には年月日と時分秒の個別フィールドに加え、安定した日付文字列とタイムスタンプが含まれます。
無料で実行
お手元の修正ユリウス日を正しく入力してください
mjd欄には有限の10進数を入力してください。修正ユリウス日は天文学的なユリウス日と一定の差で結び付いていますが、民用日との境界が扱いやすく、整数のMJDはUTCの午前0時から始まります。たとえば51544.0は2000年1月1日の開始時点、51544.5は同日の正午です。時刻が重要な場合は、出典に記載された小数桁を維持してください。通常の10進表記と数値の科学表記を受け付け、入力値だけから計算します。ラベルのない数値をローカル時刻とみなしたり、JDをMJDとして暗黙に扱ったりすることはありません。JDとMJDを取り違えると、わずかな丸め誤差ではなく数百万日の差が生じるため、元データの名称と時間尺度をご確認ください。出力には受理したMJDも含まれ、処理結果と元の観測値を対応付けられます。未入力、数値でない値、無限値、過大な値は明示的に拒否されます。
グレゴリオ暦の日付とUTC時刻をご確認ください
結果では年、月、日、時、分、秒を個別に示し、日付文字列と末尾がZの完全なタイムスタンプも返します。ZはUTCを表し、ローカル時間との差は計算に隠されていません。採用する暦は先発グレゴリオ暦です。つまり、グレゴリオ暦が歴史的に導入される以前にも、その閏年規則をさかのぼって適用します。この方式は決定的で計算に適していますが、非常に古い日付ではユリウス暦を使った史料の表記と異なる場合があります。年は天文学的紀年法に従うため0年が存在し、歴史表記の紀元前1年に相当します。MJDの小数部分は最も近い整数秒へ丸めます。丸めによって1日の終端へ達した場合は、不可能な24:00:00を返さず、翌日の午前0時へ進めます。個別フィールドはデータベースに、タイムスタンプはログやデータ交換に適しています。暦と時間尺度も明示するため、後続処理で推測する必要がありません。
科学データ処理で再現可能な変換をご利用ください
MJDは天文観測表、衛星データ、観測所のログなど、整形済みの暦日より連続した日数のほうが比較しやすいデータで使われます。このツールは、人や汎用システムがその値を読む必要がある場面に適しています。取り込み処理では観測記録を索引化する前にMJD列を変換でき、研究者は公開された元期を確認でき、サポート担当者はテレメトリ調査中の時刻を読み替えられます。ホスト環境の日付ライブラリではなく整数の暦演算を使うため、ブラウザー、APIワーカー、別のタイムゾーンで動くテスト環境でも、同じ入力から同じ結果が得られます。そのため、保存した例を信頼できる回帰テストとして利用できます。UTCは出力上の規約であり、すべての出典が物理的に完全なUTCを使うことを保証するものではありません。専門データではTT、TAIなどの時間尺度が使われることがあります。うるう秒単位の精度が必要な場合は、元の時間尺度を確認し、解釈前に分野に適した補正を適用してください。
活用例
天文観測の元期を読み取る
観測表のMJDを、確認や報告に使いやすいグレゴリオ暦のUTCタイムスタンプへ変換します。
科学データの取り込みを標準化する
連続日数を日付と時刻の個別フィールドへ変換してから、データベースや検索索引へ読み込みます。
テレメトリの時刻を確認する
解析担当者のタイムゾーンに左右されず、宇宙機や機器ログのMJDを解釈します。
よくある質問
1回の変換料金はいくらですか?
APIでの変換は1件あたり$0.002です。ブラウザー版では同じ決定的な計算を端末内で実行できます。
MJDとユリウス日の違いは何ですか?
修正ユリウス日は、ユリウス日から2400000.5を引いた値です。半日の移動により、整数のMJDはUTCの午前0時から始まります。
端末のローカルタイムゾーンを使いますか?
いいえ。端末やブラウザーのタイムゾーンに関係なく、すべての結果をUTCで計算して表示します。
日の小数部分はどのように扱いますか?
小数部分をUTCの午前0時からの経過時間として解釈し、最も近い整数秒へ丸めます。
結果にはどの暦を使用しますか?
歴史的な導入以前の日付を含め、すべての年に先発グレゴリオ暦を使用します。
うるう秒や時間尺度の変換に対応しますか?
いいえ。入力MJDを算術的に暦変換してUTCと表示しますが、TT、TAIなどの専門的な時間尺度は変換しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/mjd-to-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mjd":51544.5}'const res = await fetch("https://api.kit.forhosting.com/date/mjd-to-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mjd": 51544.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/mjd-to-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mjd": 51544.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/mjd-to-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mjd":51544.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mjd":51544.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/mjd-to-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"mjd": 51544.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.mjd_to_date",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |