“儒略日”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
第20行: 第20行:


===从儒略日到年、月、日===
===从儒略日到年、月、日===
L = JDN + 68569
L = JDN + 68569
N = ( 4 * L ) / 146097
N = ( 4 * L ) / 146097
L = L - ( 146097 *N + 3 ) / 4
L = L - ( 146097 *N + 3 ) / 4
I = ( 4000 * ( L + 1 ) ) / 1461001
I = ( 4000 * ( L + 1 ) ) / 1461001
L = L - ( 1461 * I ) / 4 + 31
L = L - ( 1461 * I ) / 4 + 31
J = ( 80 * L ) / 2447
J = ( 80 * L ) / 2447
D = L - ( 2447 * J ) / 80 ; Day
D = L - ( 2447 * J ) / 80 ; Day
L = J / 11
L = J / 11
M = J + 2 - ( 12 *L ) ;Month
M = J + 2 - ( 12 *L ) ;Month
Y = 100 * ( N - 49 ) + I + L ; Year
Y = 100 * ( N - 49 ) + I + L ; Year

2015年1月13日 (二) 12:57的版本

儒略日(Julian day)

  • 从世界时(Universal Time) 中午12时开始计算的日期,可以带小数。

简化儒略日数(Modified Julian Day Number)

  • 将儒略日数值减去2,400,000.5并命名为简化儒略日数 (Modified Julian Day Number),简称MJD。简化JD有两个特点:
  1. 日期由午夜而不是中午开始。
    1. 儒略日的数值由7位数字减为5位数字,节省计算机储存空间。

计算公式

从年,月,日到儒略日

注意公元前1年,year=0,以此类推
我们现在通行的是格里高历(Gregorian calendar )
  • 计算某一天正午(世界时)的儒略日数(Julian Day Numbers,JDN)

  • 计算带小数的儒略日

从儒略日到年、月、日

L = JDN + 68569
N = ( 4 * L ) / 146097
L = L - ( 146097 *N + 3 ) / 4
I = ( 4000 * ( L + 1 ) ) / 1461001
L = L - ( 1461 * I ) / 4 + 31
J = ( 80 * L ) / 2447
D = L - ( 2447 * J ) / 80 ; Day
L = J / 11
M = J + 2 - ( 12 *L ) ;Month
Y = 100 * ( N - 49 ) + I + L ; Year