更新时间:2023-02-26 12:35:56
此答案显示了将Unix时间戳转换为朱利安日期这是你如何在Lua中做的:
local julian =(os.time()/ 86400)+ 2440587.5
print(julian)
- 2456496.1647338
所以这是你' d转换为另一个方向:
print((julian - 2440587.5)* 86400))
- 1374508633
然后,您可以使用 os.date()将其转换为日期和时间,
。
I'm writing an application in Lua that calculates the sunset/sunrise, and to do this I had to convert the Gregorian date in to Julian days initially and do all the complex maths and such from there.
I've completed the hard maths, but now I need to convert the Julian date (2456495.6833865 as an example) back to a Gregorian one, complete with the time. The only code I've found that can do this only has the day, year and month, but no mention of the time (which I believe is expressed as a fraction of the day, in this case the numbers after the decimal point)
Any help would be greatly appreciated - The website below has the functionality but I cant find any code or ways of doing it:
http://ssd.jpl.nasa.gov/tc.cgi#top
Thanks again,
FYP.
This answer shows the way to convert from a Unix timestamp to a Julian date. This is how you'd do it in Lua:
local julian = (os.time() / 86400) + 2440587.5
print(julian)
-- 2456496.1647338
And so this is how you'd convert in the other direction:
print( (julian - 2440587.5) * 86400) )
-- 1374508633
You can then convert this into a date and time using os.date()
.