将儒略日转换为格里高利日

我正在使用Lua编写一个可以计算日出日落时间的应用程序,为此,我需要将公历转换为儒略日,在此基础上进行所有复杂的数学计算等。

我已经完成了复杂的计算,但现在我需要将儒略日(例如2456495.6833865)转换回公历,包括时间。我找到的唯一可以实现此功能的代码只有日期、年份和月份,没有提及时间(我相信时间是以一天的分数表示的,在此例中为小数点后的数字)。

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

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

再次感谢,

FYP.

点赞
用户1516484
用户1516484

这个回答展示了如何将Unix时间戳转换为儒略日。以下是Lua的方法:

local julian = (os.time() / 86400) + 2440587.5
print(julian)
-- 2456496.1647338

因此,此为反向转换的方法:

print( (julian - 2440587.5) * 86400) )
-- 1374508633

您可以使用os.date()将此转换为日期和时间。

2013-07-22 16:09:17