修正ユリウス通日

提供: MonoBook
2015年4月21日 (火) 03:31時点における153.174.184.145 (トーク)による版 (→‎B-CASカード)
ナビゲーションに移動 検索に移動

修正ユリウス通日(読み:しゅうせいゆりうすつうじつ、英語:Modified Julian Date、略称:MJD)とは、ユリウス通日(紀元前4713年1月1日12時0分0秒~)から2400000.5日を差し引き、1858年11月17日0時0分0秒を新たな起算日とする日付の表し方(通称:カレンダー)である。

あくまで日付(年月日)の表し方であり、時刻(時分秒)は考慮されていない。 強引に時刻を表現する場合は実数を用いる。

概要

修正ユリウス通日は、1973(昭和48)年にIAU(国際天文学連合)により、ユリウス通日では数字の桁数が大きすぎて扱いづらいという理由から生み出された。

その当時、小型機どころか大型機ですらコンピューターリソースが乏しかったため、CPUのビット数の制限を気にせず、高速かつ桁数制限を容易に回避できるという理由から、修正ユリウス通日は日付(時刻を含まない)の表現において多くの処理系で採用された。

現在の壮大なパソコンをもってすれば元祖ユリウス通日でも楽勝であるが、今なおショボい組込マイコンの世界では修正ユリウス通日が強いと言われている。

2038年問題

修正ユリウス通日を日付の表現に採用している処理系の多くは、そのデータ長16ビットを用いており、16ビットで表せる整数最大値である65535(0xFFFF)になる2038年4月22日を超えるとオーバーフローが発生してしまうという問題である。

なお、この16ビットの修正ユリウス通日の2038年4月22日上限に加え、32ビットUNIX時刻も2038年1月19日3時14分7秒(閏秒を考慮しない場合)にオーバーフローするという問題を抱えており、どちらも2038年問題と言われているが、まったく別の問題である。

修正ユリウス通日はリソースに乏しいワンチップマイコンなどの組込機器で多く採用されている形式であり、書き換えもパソコンほど容易ではないと言われている。状況としては年数の表現をグレゴリオ暦の下二桁のみで表していたことによる2000年問題に近い。

問題があると判明している主なシステム

B-CASカード

B-CASカードの内部に搭載されているマイコンで使われている日付表現が16ビットの修正ユリウス通日となっており、それ以降は機能しなくなるため、現状の地上デジタル放送BSデジタル放送は2038年4月22日までにサービス終了するのではないかと言われている。

関連項目

参考文献