将朱利安日期转换为格里高利日期

fyp*_*fyp 5 time lua date gregorian-calendar julian-date

我正在Lua中编写一个计算日落/日出的应用程序,为此我必须将格里高利日期最初转换为Julian天,并从那里完成所有复杂的数学运算.

我已经完成了硬数学,但现在我需要将Julian日期(例如2456495.6833865)转换回格里高利日期,完成时间.我发现的唯一代码只有日,年和月,但没有提及时间(我认为时间的一小部分,在这种情况下是小数点后的数字)

任何帮助将不胜感激 - 下面的网站有功能,但我找不到任何代码或方法:

http://ssd.jpl.nasa.gov/tc.cgi#top

再次感谢,

五年计划.

fur*_*urq 7

这个答案显示了从Unix时间戳转换为Julian日期的方法.这就是你在Lua中的表现:

local julian = (os.time() / 86400) + 2440587.5
print(julian)
-- 2456496.1647338
Run Code Online (Sandbox Code Playgroud)

所以这就是你在另一个方向转换的方式:

print( (julian - 2440587.5) * 86400) )
-- 1374508633
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用此转换为日期和时间os.date().