MJD日期碼

MJD日期碼是計算機編程之一,用於計算1900年3月1日至2100年2月28日的日期。

使用符號

Y: 從1900年開始(例如:對於2003年,Y=103)

D: 從1到31日

WY: 從1900 年算起的星期數

WN: 根據ISO 8601 規定的星期數

WD: 從星期1到星期日(7)

K,L,M′,W,Y′: 臨時變數

×: 乘法

int: 取整,忽略了餘數

Mod 7: 模7,被7除之後的餘數(0至6)

a) 如何從MJD中計算Y,M,D,見式(B1)、式(B2)、式(B3)、式(B4)、式(B5)。

Y′ = int[(MJD-15078.2)/365.25(B1)

M′ = int{[MJD-14956.1-int(Y′′365.25)]/30.6001}.(B2)

D = MJD-14956-int(Y′′365.25)-int(M′′30.6001).(B3)

如果M′ == 14或M′ == 15,那么K = 1;否則K = 0

Y = Y′+K.(B4)

M = M′-1-K′12..(B5)

b) 如何根據Y,M,D計算MJD,見式(B6)

如果M == 1或者M == 2那么L = 1;否則L = 0

MJD = 14956+D+int[(Y-L)′365.25]+int[(M+1+L′12)′30.6001](B6)

c) 如何根據MJD計算WD,見式(B7)

WD = [(MJD+2)Mod 7]+1(B7)

d) 如何根據WY,WN,WD計算MJD,見式(B8)

MJD = 15012+WD+7′{WN+int[(WY′1461/28)+0.41]}.(B8)

e) 如何根據MJD計算WY,WN,見式(B9)、式(B10)、式(B11)

W = int[(MJD/7)-2144.64].(B9)

WY = int[(W′28/1461)-0.0079](B10)

WN = W-int[(WY′1461/28)+0.41].(B11)

例子: MJD = 45 218 W = 4 315

Y =(19)82 WY=(19)82

M = 9(9月) WN = 36

D = 6 WD = 1(1月)

備註

以上公式適用於1900年3月1日至2100年2月28日。

相關詞條

相關搜尋

熱門詞條

聯絡我們