在带有timezon的iso8601中写入numpy datetime64

2024-04-18 23:52:53 发布

您现在位置:Python中文网/ 问答频道 /正文

在将numpy datetime64对象写入iso8601字符串时,如何控制时区?具体来说,我希望时区是“+0000”,就像下面的输入一样。对于这个非常简单的示例,我只希望它打印回原始字符串。在

import numpy
print(numpy.datetime64('2014-03-07T17:52:00.000+0000'))

对我来说,它回来了

^{pr2}$

我使用的是python3.4、numpy1.9.2和windows。在

This问题与此类似,但前两个答案实际上并没有回答问题,第三个答案特定于unix。在


Tags: 对象字符串答案importnumpy示例windowsunix
2条回答
s = '2014-03-07T17:52:00.000+0000'
print(numpy.datetime64(s).item().replace(tzinfo=pytz.UTC).isoformat('T'))

感谢影游侠让我朝着正确的方向前进。item从datetime64获取朴素的datetime,然后用UTC替换时区,因为我知道在本例中是这样,然后使用'T'分隔符以ISO格式获取它。在

这应该是有效的:

import numpy, time, os

os.environ['TZ'] = 'GMT'
time.tzset()


print(numpy.datetime64('2014-03-07T17:52:00.000+0000'))

基于这个stackoverflow答案:

{a1}

相关问题 更多 >