2013-07-22 5 views
5

Я пишу приложение в Lua, которое вычисляет закат/восход солнца, и для этого мне пришлось сначала преобразовать григорианскую дату в юлианские дни и выполнить всю сложную математику и так далее ,Конвертировать юлианскую дату в григорианскую дату

Я закончил жесткую математику, но теперь мне нужно преобразовать юлианскую дату (2456495.6833865 в качестве примера) обратно в григорианскую, в комплекте со временем. Единственный код, который я нашел, который может сделать это, имеет только день, год и месяц, но не упоминает о времени (которое, как я полагаю, выражается как часть дня, в этом случае числа после десятичной точки)

Любая помощь будет принята с благодарностью - на сайте ниже, имеет функциональные возможности, но я не могу найти какой-либо код или способы сделать это:

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

Еще раз спасибо,

FYP.

ответ

7

This answer показывает способ преобразования из временной метки Unix в юлианскую дату. Это, как вы могли бы сделать это в Lua:

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

И так это то, как вы бы преобразовать в другом направлении:

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

Вы можете преобразовать это в дату и время, используя os.date().

Смежные вопросы