Python - 以numpy datetime64格式获取当前时间

Bob*_*Bob 12 python time date

如何使用numpy datetime64获取当前日期和时间?

并且给定一个numpy数组,其中每个元素都是datetime64值,如何在几秒内得到差异?

Tom*_*oth 9

您也可以这样做以获取当前日期和时间:

import numpy as np 

np.datetime64('today') # today's date
np.datetime64('now') # timestamp right now 
Run Code Online (Sandbox Code Playgroud)


RMc*_*McG 6

您可以使用datetime模块获取当前日期并将其传递给datetime64

import numpy as np
import datetime

current = np.datetime64(datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)

既然您有当前的日期时间,我建议查看numpy datetime64文档并按照提供的示例进行操作.timedelta64上的示例应该特别有用.

有关具体示例,请考虑以下事项:

import numpy as np
import datetime

current = np.datetime64(datetime.datetime.now())
sample = [np.datetime64('2013-10-22T03:30Z'),
          np.datetime64('2013-10-22T04:40Z'),
          np.datetime64('2013-10-22T05:50Z')]
diff = [current-t for t in sample]
diffSec = [t.item().seconds for t in diff]
Run Code Online (Sandbox Code Playgroud)

此代码导致diffSec数组包含从当前时间到采样时间的不同秒数

Out[2]: [1723, 1818, 1913]
Run Code Online (Sandbox Code Playgroud)

阐释:

  1. 首先使用datetime模块将current设置为当前时间.
  2. 创建一个包含np.datetime64元素的示例数组
  3. 通过从当前时间中减去样本中的每个元素来计算np.timedelta64元素.
  4. 对于diff中的每个timedelta,提取第二个差异并保存在新的数组diffSec中

显然,这些确切的结果是不可重复的,因为我使用当前时间来计算差异.