如何从 numpy.datetime64 获取 unix 时间戳

新手上路,请多包涵

如何从 numpy.datetime64 或 numpy.datetime_ 获取 UNIX 时间?

例如:

 np.datetime_('2012-08-08 13:37:00')

原文由 SlimJim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 574
2 个回答

我在 numpy 1.6.1 和 1.7 上得到的 np.datetime64('now') 的值不一致。

这适用于:

 >>> import datetime
>>> import numpy as np
>>> now = np.datetime64(datetime.datetime.now())
>>> (now.astype('uint64') / 1e6).astype('uint32')
1344447810

原文由 jterrace 发布,翻译遵循 CC BY-SA 3.0 许可协议

为了计算单位,我认为您需要执行以下操作:

 def get_unixtime(dt64):
    return dt64.astype('datetime64[s]').astype('int')

请注意,这会在转换为整数之前转换为“秒”( [s] )。这适用于 NumPy 1.12.1。

原文由 farenorth 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题