2013-07-22 117 views
5

我正在Lua編寫一個計算日落/日出的申請,爲此我必須首先將公曆日期轉換爲朱利安日子,並從那裏進行所有複雜的數學運算。轉換朱利安日期爲公曆日期

我已經完成了硬數學,但現在我需要將Julian日期(2456495.6833865作爲示例)轉換回格里高利日期,並且結束時間。我發現的唯一的代碼只有一天,一年和一個月,但沒有提及時間(我相信它表示爲一天中的一小部分,在這種情況下是小數點後的數字)

任何幫助,將不勝感激 - 下面的網站具有的功能,但我無法找到任何代碼或做它的方式:

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

再次感謝,

五年計劃。

回答

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()

相關問題