下面这个公式可用于1900年至2099年
假定所求日期为年: Y; 月: M; 日: D
如果M>2, 则y = Y, m=M-3, 否则 y = Y-1, m=M+9
JD=1721103.5 + int(365.25*y)) + int(30.6*m+0.5) + D
int: 取整, 即取这个实数的整数部分
举例:
要算北京时间2005年2月12日15:30
* 转换成格林威治标准时间2005/2/12,7:30
* 因为M = 2,所以y = 2005-1 = 2004, m = 2+9 = 11, D = 12
* JD = 1721103.5 + int(365.25*y)) + int(30.6*m+0.5) + D
JD = 1721103.5 + int(365.25*2004) + int(30.6*11+0.5) + 12
JD = 1721103.5 + 731961 + 337 + 12
JD = 2453413.5
* 7:30/24 = 7.5/24 = 0.3125
* 最后结果 JD = 2453413.8125
该公式出自Norton's Star Atlas and Reference Book
