我想將我的UTC時間和經度轉換爲python中的平均太陽能本地時間。如何轉換UTC和經度來表示太陽能當地時間python
輸入:
utc = ['2000-08-20 07:15:12.000'] #utc time
lon = [-89.91054415] #longitude
我用astropy.time讓我的UTC時間是一個字符串。
我想將我的UTC時間和經度轉換爲python中的平均太陽能本地時間。如何轉換UTC和經度來表示太陽能當地時間python
輸入:
utc = ['2000-08-20 07:15:12.000'] #utc time
lon = [-89.91054415] #longitude
我用astropy.time讓我的UTC時間是一個字符串。
解釋性補充天文年曆第三版第239所指出,地方平均太陽時,LMSoT,由
與UT和觀察者的東經LMSoT = UT +ƛ
UT通常認爲是指UT1。要將UTC轉換爲UT1,請參閱公告A https://www.iers.org/IERS/EN/DataProducts/EarthOrientationData/eop.html
對於2016/08/27 UT1 - UTC = -0.243031。原始的海報只能工作到毫秒,所以到-0.243。 2016/08/27 19:19:00.000 UTC = 19:18:59.757 UT1。
波士頓緯度,-71.03°,轉換爲時間,= -4ħ44米7.200小號
波士頓LMSoT = 19:18:59.757 - 4:44:7.2000 = 14:34:52.557
原始海報可以簡化程序,具體取決於所需的實際精度。尤其是,UTC始終在UT1的0.9 s內,因此如果不需要精確到秒,則可以跳過查找UT1 - UTC的步驟。
我找到了一個解決方案here使用pyephem。如果這是一個問題,它會考慮夏令時。
from ephem import Sun, Observer, pi, hours
dt = '2016/08/27 19:19'
sun = Sun()
sun.compute(dt)
boston = Observer()
boston.lat = '42.37'
boston.lon = '-71.03'
boston.date = dt
ra, dec = boston.radec_of('0', '-90')
print 'Sun right ascension:', sun.ra
print 'Boston nadir right ascension:', ra
print 'Solar time:', hours((ra - sun.ra) % (2 * pi)), 'hours'
你如何將經度轉換爲時間? ƛ符號代表什麼? – Rose
ƛ代表經度。由於一個完整的旋轉可以被認爲是360°或24小時,並且360/24 = 15,所以度數除以15以獲得小時數。 –