将日期转换为儒略数

Converting a date to its Julian number

本文关键字:日期 转换      更新时间:2023-10-16

我想计算两个日期之间的差值,时间和秒,我至少知道日期将其转换为两个儒略数并减去它是一种有效的方法。我正在尝试实现这个算法。以下是我今天的实现,即12-2-2015

function g(y,m,d)
m = (m + 9) % 12
y = y - m/10
return 365*y + y/4 - y/100 + y/400 + (m*306 + 5)/10 + ( d - 1 )
function g(2015,12,22)
[9] m = (12 + 9) % 12
[2014.1] y = 2015 - 9/10
735146.5 + 503.525 + 20.141 + 5.03525 + 275.9 + 21
=**735954.10125**

然而,从这个在线计算工具中,正确的值是:2457378.877

我做错了什么?

您的基本问题是,您使用的算法在1AD开始时的值为1。儒略历始于公元前4713年。

出于你的目的,这可能无关紧要,(但这会让你更难在网上查看)。Excel擅长比较20世纪初以后的时间点。如果你真的想转换为儒略日期,你需要搜索算法。例如:https://gist.github.com/jiffyclub/1294443是python中合适的代码-您需要转换为您选择的语言