我需要將UT中結合了經度的時間轉換爲本地時間。我正在分析未來的地球觀測衛星任務,並需要做這種轉換才能繼續。如何使用UT中的datetime.time對象並將其轉換爲給定經度的本地時間
我發現這個問題的一個通用解決方案here:T(lt)= T(ut)+ lon /(360/24),然而實現它卻讓我絕對瘋狂。
我的數據是日期時間時對象:
In[9]: sattime[0]
Out[9]: datetime.time(18, 0)
和經度從0到360度座標。
我需要把這個對象,並使用上述公式轉換爲本地時間。我只關心相對於午夜的時間而不關心日期(實際上我的其他代碼當前只使用datetime.time對象,最好是本地時間輸出將是相同類型的對象)。
我試過以下從here,但我堅持讓本地變量回到時間對象。
test = 4
for (i,j) in zip(sattime, satloncor):
td = datetime.datetime.combine(datetime.datetime.min, i) - datetime.datetime.min
seconds = td // datetime.timedelta(milliseconds=1)
local = (seconds + (j/(360/86400)))/1000
print (local)
if test<0:
break
test-=1
代碼的測試部分只是確保我沒有浪費時間做轉換所有〜40萬個數據點。所以總結一下,我想把UT中的datetime.time對象與相應的經度相結合,並將它轉換爲當地太陽時間作爲datetime.time對象。
這一切似乎超級複雜,似乎應該有一個更簡單的方法。任何幫助是極大的讚賞!謝謝!