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

时间:2013-07-22 14:44:30

标签: date time lua gregorian-calendar julian

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

我已经完成了硬数学,但现在我需要将朱利安日期(例如2456495.6833865)转换回格里高利日期,完成时间。我发现只能做到这一点的唯一代码只有日,年和月,但没有提及时间(我认为它表示为当天的一小部分,在这种情况下是小数点后面的数字)< / p>

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

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

再次感谢,

FYP。

1 个答案:

答案 0 :(得分:7)

This answer显示了从Unix时间戳转换为Julian日期的方法。这就是你在Lua中的表现:

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

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

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

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