Python 如何将UTC和经度转换为平均太阳当地时间
我正在尝试将UTC时间和经度转换为python中的平均太阳本地时间 投入:Python 如何将UTC和经度转换为平均太阳当地时间,python,python-2.7,datetime,utc,astropy,Python,Python 2.7,Datetime,Utc,Astropy,我正在尝试将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 =
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'
我用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'
《天文年鉴》第三版第239页的解释性补充说明指出,当地平均太阳时LMSoT与UT和观测者的东经之间的关系为:
LMSoT=UT+ƛ
UT通常指UT1。要将UTC转换为UT1,请参阅
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的步骤。天文年鉴第3版的解释性补充。第239页指出,当地平均太阳时LMSoT与UT和观察者的东经相关
LMSoT=UT+ƛ
UT通常指UT1。要将UTC转换为UT1,请参阅
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秒内,因此如果不需要精确到秒,则可以跳过查找UT1-UTC的步骤。如何将经度转换为时间?符号代表什么?代表经度。由于一次完整的旋转可以被视为360°或24小时,并且360/24=15,因此度数除以15即可获得小时数。无法编辑您的帖子,因为正确的“经度”和“纬度”是不够的。波士顿的经度实际上是-71°03',而它的纬度是42°36'。你能做到吗?你怎么把经度转换成时间?符号代表什么?代表经度。由于一次完整的旋转可以被视为360°或24小时,并且360/24=15,因此度数除以15即可获得小时数。无法编辑您的帖子,因为正确的“经度”和“纬度”是不够的。波士顿的经度实际上是-71°03',而它的纬度是42°36'。你能做吗?