Перевести Юлианские даты в григорианские

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

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

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

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

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

FYP.

1 ответ

Решение

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

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

И вот как вы должны конвертировать в другом направлении:

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

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

Другие вопросы по тегам