首页 > 解决方案 > 计算 X 秒前的日期时间

问题描述

我正在尝试编写一个函数,它在given_date. 的每个索引previouse_dates都是在 之前的时间(以秒为单位)given_date

import numpy as np

given_date = np.datetime64('2017-09-15 11:40:30')
previouse_dates= np.datetime64([90, 150, 3600]) #in seconds

预期产出

[2017-09-15 11:39:00  2017-09-15 11:38:00  2017-09-15 10:40:30]

标签: pythonnumpydatetimetimedelta

解决方案


90 秒不是日期或时间(因此不是 a np.datetime64)-它是 time period,因此是 a np.timedelta64. 这里的'm'innp.array([90, 150, 3600], 'm') 表示timedelta64

>>> given_date = np.datetime64('2017-09-15 11:40:30')
>>> previous_dates = np.array([90, 150, 3600], 'm') # 'm' means `timedelta64`
>>> previous_dates
array([  90,  150, 3600], dtype=timedelta64)
>>> given_date - previous_dates
array(['2017-09-15T11:39:00', '2017-09-15T11:38:00',
       '2017-09-15T10:40:30'], dtype='datetime64[s]')

推荐阅读