如何从numpy.datetime64对象中获取小时、分钟等信息?

4

也许我太糊涂或者思维太狭隘,找不到一个聪明的解决方案,但我想提取一个numpy.datetime64对象的时间,却找不到明显的解决方案。

当然,我可以这样做:

import numpy as np
a = np.datetime64('2015-03-23T22:58')
print(a.tolist().time())

但这仍然让我处理时区问题。

另外,对我来说使用numpy.datetime64只是为了将其转换为datetime并使用这些方法没有任何意义。或者是因为numpy.datetime64缺少一些重要功能/我没有按照预期使用它,所以最好回退到datetime.datetime?


帮助文档指出您可以在字符串中指定Zulu或本地时间...虽然我没有尝试过,但这值得一看。http://docs.scipy.org/doc/numpy/reference/arrays.datetime.html - user1121588
2
我发布了一个不正确的答案。但是,Pandas 对你有用吗?在 pd.to_datetime('2015-03-23T22:58').hourpd.to_datetime('2015-03-23T22:58').minute 中。 - Zero
这回答解决了你的问题吗?如何从np.datetime64中提取小时/分钟/秒? - Niko Pasanen
1个回答

1
除了我的评论之外,我进行了一个简单的实验,以查看格式从文档参考中提供了什么。
>>> import numpy as np
>>> a = np.datetime64('2015-03-23T17:00')  # 17hr local time
>>> b = np.datetime64('2015-03-23T17:00Z') # 17hr Zulu
>>> a
numpy.datetime64('2015-03-23T17:00-0400')
>>> b
numpy.datetime64('2015-03-23T13:00-0400')
>>> 
>>> a.tolist().time()
datetime.time(21, 0)
>>> b.tolist().time()
datetime.time(17, 0)
>>> 

这是适合我所在地的合适时间差。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接