簡體   English   中英

如何將UTC和經度轉換為平均太陽當地時間python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM