[英]How to convert UTC and longitude to mean solar local time python
我正在嘗試將我的UTC時間和經度轉換為python中的平均太陽當地時間。
輸入:
utc = ['2000-08-20 07:15:12.000'] #utc time
lon = [-89.91054415] #longitude
我用astropy.time來獲取我的utc時間,它是一個字符串。
我在這里找到了使用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'
天文年鑒第3版的說明性補編 。 第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 h 44 m 7.200 s
波士頓LMSoT = 19:18:59.757-4:44:7.2000 = 14:34:52.557
原始海報可以根據所需的實際精度來簡化過程。 特別是,UTC始終在UT1的0.9 s之內,因此,如果不需要精確到秒,則可以跳過查找UT1-UTC的步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.