将 numpy datetime64 对象写入 ISO 8601 字符串时如何控制时区?具体来说,我希望时区为“+0000”,就像下面的输入一样。对于这个非常简单的示例,我只希望它打印回原始字符串。
import numpy
print(numpy.datetime64('2014-03-07T17:52:00.000+0000'))
对我来说,它返回
2014-03-07T12:52:00.000-0500
我使用的是 python 3.4、numpy 1.9.2 和 windows。
This问题类似,但前两个答案实际上并没有回答问题,第三个答案特定于unix。
最佳答案
s = '2014-03-07T17:52:00.000+0000'
print(numpy.datetime64(s).item().replace(tzinfo=pytz.UTC).isoformat('T'))
感谢 ShadowRanger 让我朝着正确的方向前进。 item 从 datetime64 获取原始日期时间,然后用 UTC 替换时区,因为我知道在本例中就是这样,然后使用“T”分隔符以 ISO 格式获取它。
关于python - 在 ISO 8601 中用时区编写 numpy datetime64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35348633/