2013-07-22 20 views
5

Piszę wniosek w Lua, który oblicza zachód/wschód słońca, i aby to zrobić, musiałem początkowo konwertować datę gregoriańską na dni juliańskie i wykonywać wszystkie skomplikowane obliczenia matematyczne i takie tam .Konwertuj datę juliańską na gregoriańską Data

Ukończyłem ciężką matematykę, ale teraz muszę zamienić datę juliańską (2456495.6833865 jako przykład) z powrotem na gregoriańską, wraz z czasem. Jedyny kod, jaki udało mi się uzyskać, ma tylko dzień, rok i miesiąc, ale nie ma wzmianki o czasie (który według mnie wyrażany jest jako ułamek dnia, w tym przypadku liczby po przecinku)

Każda pomoc będzie bardzo mile widziane - Poniższa strona posiada funkcjonalność, ale nie mogę znaleźć żadnego kodu lub sposoby robienia go: znowu

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

Dzięki,

FYP.

Odpowiedz

7

pokazuje sposób konwersji ze znacznika czasowego Uniksa na datę juliańską. Jest to, jak chcesz to zrobić w Lua:

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

I tak to jest, jak chcesz przekształcić w innym kierunku:

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

Następnie można przekonwertować to do daty i czasu korzystania os.date().