首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中如何将J2000时间转换为UTC?

在python中如何将J2000时间转换为UTC?
EN

Stack Overflow用户
提问于 2017-09-29 15:24:27
回答 3查看 6K关注 0票数 4

我有时间用J2000格式.中午后几秒钟,在1-1-2000,我想把它转换成一个格式为年份月日hour:min:sec.millisec格式的数组中的UTC时间。在AstroPy中是否有一些函数或类似的功能来进行转换?

输入:J2000中的时间: 559889620.293秒

预期产出:世界协调时间: 2017-09-28 16:53:40.293

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-29 16:20:06

如果你想使用astropy,你可以使用astropy.time

代码语言:javascript
运行
复制
>>> from astropy.time import TimeDelta, Time
>>> from astropy import units as u
>>> (Time(2000, format='jyear') + TimeDelta(559889620.293*u.s)).iso
'2017-09-28 16:53:35.293'

如果您不想记住朱利安的基准日期(1.1.2000的中午),那么Time(2000, format='jyear')是一个很好的选择。

票数 7
EN

Stack Overflow用户

发布于 2017-09-29 16:08:00

偏移量是常量的,所以您只需添加它:

代码语言:javascript
运行
复制
>>> OFFSET = datetime(2000,1,1,12) - datetime(1970,1,1)
>>> datetime.utcfromtimestamp(559889620.293) + OFFSET
datetime.datetime(2017, 9, 28, 16, 53, 40, 293000)
票数 5
EN

Stack Overflow用户

发布于 2017-09-29 16:08:36

您可以简单地将一个timedelta添加到基本datetime中。

代码语言:javascript
运行
复制
import datetime
datetime.datetime(2000, 1, 1, 12, 0) + datetime.timedelta(seconds=559889620.293)

返回:

代码语言:javascript
运行
复制
datetime.datetime(2017, 9, 28, 16, 53, 40, 293000)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46492109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档