修正ユリウス日計算機
ユリウス日を、人工衛星の運用や天文アーカイブで使われる短い修正ユリウス日に直せます。ユリウス日2451545は、2400000.5日を引いて修正ユリウス日51544.5になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ユリウス日
- 2,451,545
- 修正ユリウス日
- 51,544.5
- Mjd
- 51,544.5
- オフセット
- 2,400,000.5
修正ユリウス日は、衛星運用・宇宙飛行ソフトウェア・多くの天文アーカイブで使われる標準の日数カウントです。日番号をコンパクトに保ち、市民日の始まりを正午ではなく UT の深夜に置くためです。観測者、ミッション計画者、データパイプラインは時刻を完全なユリウス日として保持することが多く、カタログ・テレメトリ窓・ミッション横断比較のために MJD への決定的な変換を必要とします。この修正ユリウス日計算機は有限のユリウス日を受け取り、公式オフセット 2400000.5 日を引き、監査用に式とオフセットを添えて MJD を返します。
修正ユリウス日の意味と 2400000.5 オフセットが存在する理由
ユリウス日は固定の天文元期から日とその端数を連続して数え、日境界を世界時の正午に置くため、一夜の観測が日番号をまたぐことはほとんどありません。夜間天文には便利ですが、深夜始まりと小さな整数を好む市民スケジュールや現代の計算機には不便です。修正ユリウス日は、MJD がユリウス日からちょうど 2400000.5 日を引いた値になるよう定義されました。
半日項は日境界を UT 正午から UT 深夜へ移し、整数部 2400000 は現行元期の JD に現れる約 2.4 百万台の大きな先頭桁を落とします。定義により MJD 0.0 は JD 2400000.5(1858-11-17 の 00:00 UT)に対応します。
有名な基準点には JD 2451545.0 の J2000.0(MJD 51544.5)があり、それ以降の任意の JD も同じ線形シフトで写像されます。写像は定数の減算だけなので、暦の閏ロジック・タイムゾーン表・システム時計は不要で、同じ JD 入力を使う二つの実装は機械精度で同じ MJD を返さねばなりません。
本能力はその定義だけを実装し、市民暦文字列の変換、閏秒の適用、JD としてお渡しいただく連続日数を超える時間尺度の発明は行いません。
活用例
ミッション運用とテレメトリ整合
通過窓・テレメトリアーカイブ・MJD 標準の地上局スケジュール向けに、レガシーのユリウス日列を修正ユリウス日へ変換します。
カタログと FITS タイムスタンプのパイプライン
JD と MJD が混在する研究カタログやヘッダ時刻を、決定的な定数オフセットによる単一の連続日数へ正規化します。
教育と SEO デモ
無料ブラウザツールで J2000(JD 2451545.0 → MJD 51544.5)などの実例とともに、学習者と来訪者へ MJD = JD − 2400000.5 を示します。
よくある質問
JD に対する MJD のオフセットは何ですか?
定義により MJD = JD − 2400000.5 です。半日で UT 正午を UT 深夜へ移し、整数部で現代の日番号を短くします。
暦日を MJD に変換しますか?
いいえ。 入力は既にユリウス日の数値である必要があります。先にユリウス日番号ツールで市民日を JD に変換し、その後この能力を呼び出してください。
修正ユリウス日が真夜中に始まるのはなぜですか?
ユリウス日は世界時の正午に日付が変わり、一晩の観測が同じ日番号に収まります。差し引く値の半日分で区切りを真夜中に移し、日常の暦に合わせています。
ユリウス日2451545の修正ユリウス日はいくつですか?
51544.5です。ユリウス日から2400000.5を引くと修正ユリウス日になり、入力した値の1日未満の端数はそのまま残ります。
修正ユリウス日はどこで使われていますか?
人工衛星の運用、宇宙飛行のソフトウェア、多くの天文アーカイブで使われています。日番号が短く読みやすいので、カタログや観測期間、ミッションどうしを比べやすくなります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/modified-julian-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"julian_date":2451545}'const res = await fetch("https://api.kit.forhosting.com/astro/modified-julian-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"julian_date": 2451545
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/modified-julian-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"julian_date": 2451545
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/modified-julian-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"julian_date":2451545}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"julian_date":2451545}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/modified-julian-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"julian_date": 2451545
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.modified_julian_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
非数値または非有限の入力は invalid_input で失敗し、課金されません。
入力契約・応答の形・エラー時の振る舞い
JD スケールで UT 正午以降の時刻を表す小数部を含む有限の数または数値文字列です。有限であれば負の JD や元期以前の歴史的カウントも受け付けます(定義は JD が MJD 零点より大きいことを要求しません)。検証失敗は残高を消費しません。暦日から始める場合は別のユリウス日番号計算機と組み合わせ、アーカイブが MJD を保存するなら得られた JD をここに渡してください。必須フィールド julian_date(別名 jd、julian_day、jd_value)を含む JSON 本文を POST してください。欠落・空・非数値・NaN・Infinity は invalid_input でフィールド名付きで失敗し、汎用 500 なしにペイロードを直せます。成功時の本文にはエコーされた julian_date、便宜上同一の modified_julian_date と mjd、2400000.5 の offset、文字列 MJD = JD - 2400000.5 の formula が含まれます。例:julian_date 2451545.0 は modified_julian_date 51544.5、julian_date 2400000.5 は modified_julian_date 0 を与えます。本エンドポイントはオフセット手順のみを行い、ネットワークやシステムの Date API は呼びません。
修正ユリウス日 API が実際に役立つ場面
ミッション運用センターや CubeSat 地上局は通過窓とテレメトリを MJD で記録し、レガシー暦表はなお JD を引用することがあります。前払いの変換呼び出し一つで、定数ファイルを各マイクロサービスに配布せず列を揃えられます。FITS ヘッダやカタログ時刻を扱う研究ノートブックは CI から API を呼び、J2000・MJD 元期・ミッション固有元期の正確な MJD を浮動小数の手計算なしに単体テストで固定できます。実装は純 parse のティア A のため、成功呼び出しはモデルトークンも外向きネットワークもなく公開基本料金 $0.002 です。リクエストを小さく保ち、丸めた modified_julian_date をテストに固定すれば、運用ダッシュボード・保管パイプライン・教室課題向けに再現可能な日数を得られ、自前の完全な時間尺度ライブラリは不要です。
技術的な質問
ユリウス日から修正ユリウス日へはどう変換しますか?
有限の julian_date(または jd)を送ってください。API は modified_julian_date = julian_date − 2400000.5 と、表示用のオフセットおよび式文字列を返します。
julian_date が非数値だとどうなりますか?
タスクは invalid_input で失敗します。欠落・空・NaN・Infinity・非数値文字列は拒否され、課金されません。
修正ユリウス日計算機の料金は?
ブラウザツールは無料です。API 要求は成功呼び出しごとに前払い KIT 残高から $0.002 を使います。無効入力は課金されません。