“儒略日(Julian Day)”与“儒略历(Julian Calendar/Julian Date)”不同。 儒略历是 Julius Caesar在45 BC发明的。一年有12个月,大月31日,小月30日,平年2月有28,日闰年2月则有29日,平均每年有365.25日。到1582年10月由格勒哥里十三世(Gregory XIII)改革成为格勒哥里历(Gregorian calendar),取消1582年10月5日至1582年10月14日这10日及取消400年内00年尾的3个闰年,使一年的平均日数变成365.2425日,更接近于准确的回归年365.2422日。
儒略日是由Joseph Justus Scaliger(1540-1609)发明的,名称可能是取自他的父亲Julius Caesar Scaliger(1484-1558)。Scaliger尝试将所有历史日期用一个系统表述。为被免用负数表达过去的年份,他选择一个年代久远的年份作为儒略日的起点。他依据以下3种周期订定出儒略日的儒略周期(Julian Cycle)及起点。
1. 28年为一周期的太阳周期(solar cycle) : 经过一周期,星期的日序与月的日序会重复。
2. 19年为一周期的朔望周期(Metonic cycle) :经过一周期,阴历月年的日序和月相重复。周期内用 Golden Number 来表示序号。
3. 15年为一周期的古罗马律会(indiction cycle) :此为罗马皇帝君士坦丁所颁的课税周期,每15年重订财产价值以供课税。
Scaliger将这三个周期的最小共倍数(28 x 19 x 15=7980)作为儒略日(Julian Day)的周期。至于儒略日的起点Scaliger选择了一年使这三个周期均等于1。他知道1BC 这一年的Solar cycle number等于9,Metonic cyle number Golden number 等于1,及Indiction cycle number等于3。他发现(1,1,1)发生在公元前4713年1月1日,就选择了一年作为起点。天文学家经常用儒略日来赋予每天一个唯一的数字,方便追朔日期。 这就是所谓的儒略日(JD)。通常天文及航海以中午12时为一日的开始,儒略日亦是从世界时(Universal Time) 中午12时开始。 JD0指定为4713 BC 一月一日正午UTC到4713 BC一月二日正午UTC的24小时。
儒略日数的计算(Julian Day Numbers)
儒略日起始时间为4713 BC,公元后的年数(AD/CE)可以简单地加上4713成为儒略年数(Julian Period)。例如2003 AD年会得出6716。公元前(BC/BCE)要表示成负数的公元后的年数。因为公元前1年(1BC)等于0AD,因此要将BC/BCE的年数减1然后取负值。例如868BC年会得出 –867AD。但是如果4713 BC不是第一年而是设为0年,计算时会简化,对于BC/BCE的年只须加4712而不是4713。例如2003AD年会得出6715。这种计法称为Scalinger Year。另外在计算儒略日数时年是以3月1日开始,一月及二月被当作上一年的第13及14个月。
首先将年份(Scalinger Year)徐4。例如2003年2月15日的Scalinger Year是2002 (一月及二月被当作上一年的第13及14个月) + 4712 = 6714,6714/4 = 1678余2,意思是4年循环的儒略历有1678个而本循环(0-3)中等于2。暂时不理闰年所加的日数,儒略历日数= 1461 x 1678 + 2 x 365 = 2,452,288。
世纪
| 修正 |
1582 | -10 |
1600 | |
1700 | -11 |
1800 | -12 |
1900 | -13 |
2000 |
由儒略日数 (Julian Day Numbers) 转换成格勒哥里历( Gregorian calendar )
转换儒略日数 (Julian Day Numbers) 成格勒哥里历( Gregorian calendar )只是倒转求儒略日数过程。例如将 JD 2,452,686 转成格勒哥里历。
首先将 2,452,686 减去 4713 BC1 月至 2 月的 59 日成为 2,452,627 。将这个数徐以 1461 得 1678 余数是 1069 ,再将余数 1069 数徐以 365 得 2 余数 339 。 1678 x 4 = 6712 加上这个商 2=6714 就是 Scalinger Year ,将 Scalinger Year 减去 4712 =2002 年。余数 339 对应以 3 月为首的累积日数表中的已二月,所以年份要加一成为 2003 年。余数 339 减去格勒哥里历修正日数 339 – (–13) = 352 ,将 352 减去二月的累积日数 337 =15 ,这就是日。结果是 2003 年 2 月 15 日。
其它儒略日数(Julian Day Numbers)计算方法
计算儒略日数(Julian Day Numbers)还有许多其它公式,现列举于下作参考。
公式一
假设 a = (14-月份)/12
格勒哥里历(Gregorian calendar)的日期:
JD=d+(153m+2)/5 + 365y + y/4 – y/100 + y/400 - 32045
儒略历(Julian calendar)的日期:
JD = day + (153m+2)/5 + 365y + y/4 - 32083
公式二
假设 y = 年份
JD = (1461 * (y + 4800 + (m - 14) / 12)) / 4 +
由儒略日数(Julian Day Numbers)转换成格勒哥里历(Gregorian calendar)
L = JD + 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
公式三
假设 y = 年份
1. 如果 m 小于于或等于2, m = m + 12 而 y = y – 1
2. c = 2 – y/1000 + y/400 (乘或徐数时,取整数,舍弃点数)
3. JD = 1461 * ( y+ 4716 ) / 4 + 153 * (m + 1) / 5 + d + c –1524.5 (乘或徐数时,取整数,舍弃点数)
由儒略日数(Julian Day Numbers)转换成格勒哥里历(Gregorian calendar)
Z = JD+0.5
W = (Z – 1867216.25) / 36524.25
X = W / 4
A = Z+1+W–X
B = A+1524
C = (B–122.1) / 365.25
D = 365.25xC
E = (B–D) / 30.6001
F = 30.6001 * E
日 = B – D– F
月份 = E – 1 or E – 13 (要小于或等于12的数字)
年份 = C–4715(如果月份是一或二月)其它月份则用C– 4716
公式四
假设
JD = (D - 32075 + 1461 * (Y + 4800 + (M - 14) / 12) / 4 + 367 * (M - 2 - (M - 14) / 12 * 12 ) / 12 - 3 * ((Y + 4900 + (M - 14) / 12) / 100) / 4)
公式五
假设 y = 年份
简化儒略日数(Modified Julian Day Number)
从过去的150年到现在,儒略日的数值起码是7位数字。1957年Smithsonian Astrophysical Observatory将儒略日数值减去2,400,000.5并命名为简化儒略日数 (Modified Julian Day Number),简称MJD。简化JD有两个目的:
1) 日期由午夜而不是中午开始。
2) 儒略日的数值由7位数字减为5位数字,节省计算机储存空间。
3)JD 2,400,000是1858年11月16日。MJD 2 = 0相当于1858年11月17日的凌晨。
利连日数(Lilian Day Number)
概念上与儒略日一样,它是由格勒哥里历(Gregorian calendar)改革的第一日作起点,即1582年10月15日。利连日数(Lilian Day Number)是以天文学家Aloysius Lilius命名,他是天主教教皇格勒哥里十三世(Gregory XIII)的历法顾问,亦是格勒哥里历(Gregorian calendar)的主要发明者之一。
利连日数(LJD)与儒略日数(JD)有如下的关系 :
LDN = JDN - 2,299,160
Julian day - Definition |
The
Julian Date The The term
The use of Alternatives
Because the starting point is so long ago, numbers in the Julian day can be quite large and cumbersome. A more recent starting point is sometimes used, for instance by dropping the leading digits, in order to fit into limited computer memory with an adequate amount of precision.
History The
Its Note: In his book
Astronomers Julian days begin at noon because when Herschel recommended them, the astronomical day began at noon (it did so until CalculationThe Julian day number can be calculated using the following formulas: All divisions (except for JD) are integer divisions, meaning the remainder in the division is discarded. The months January to December are 1 to 12. For a date in the Gregorian calendar (at noon): <math>\begin{matrix}JDN & = & day + {153m + 2\over 5} + 365y + {y \over 4} - {y \over 100} + {y \over 400} - 32045\end{matrix}<math> For a date in the Julian calendar (at noon): <math>\begin{matrix}JDN & = & day + {153m + 2\over 5} + 365y + {y \over 4} - 32083\end{matrix}<math> For the full Julian Date (divisions are real numbers): <math>\begin{matrix}JD & = & JDN + {hour - 12 \over 24} + {minute \over 1440} + {second \over 86400}\end{matrix}<math> The day of the
See alsoReferences
External links
|
Modified Julian Day与年月日时分秒转换C++和MATLAB代码
C++转换函数:
年月日时分秒(支持小数秒)与Modified
double
void
MATLAB转换函数:
年月日时分秒(支持小数秒)与Modified
mjd--Modified
function
greDate---年月日时分秒向量,可输入数组
function
UTC与当地时互转
utcArr--UTC,可输入数组
function
lonArr--当地经度(0~360或-180~180均可),可输入数组
function
Modified
54783.5311154071
54783.5311443393
54783.5311725482
54783.5312007571
54783.5312296894
54783.5312578983
54783.5312868305
54783.5313150394
54783.5313439716
54783.5313721805
54783.5314011127
54783.5314293216
54783.5314575305
54783.5314864628
54783.5315146717
54783.5315436039
54783.5315718128
54783.5316000217
54783.5316289539
54783.5316571628
54783.5316860950
54783.5317143040
54783.5317432362
54783.5317714451
54783.5317996540
54783.5318285862
54783.5318567951
54783.5318857273
54783.5319139362
54783.5319421451
http://www.csgnetwork.com/julianmodifdateconv.html