如何获取datetime64数组中每个元素的时间?

如何获取datetime64数组中每个元素的时间?,datetime,numpy,Datetime,Numpy,在Numpy中,我试图获取datatime64数组中每个元素的时间 我可以接受一个新的timedelta64数组,其中包含每个元素从一天开始经过的时间 我已经尝试使用numpy.datetime\u作为字符串,但我不知道如何操作字符串。如果使用pandas,可以调用pandas.Series.dt.time获取datetime.time对象。如果使用pandas,您可以调用pandas.Series.dt.time来获取datetime.time对象。很好的解决方案!它能适应处理非UTC日期时间

在Numpy中,我试图获取
datatime64
数组中每个元素的时间

我可以接受一个新的
timedelta64
数组,其中包含每个元素从一天开始经过的时间


我已经尝试使用
numpy.datetime\u作为字符串
,但我不知道如何操作字符串。

如果使用pandas,可以调用
pandas.Series.dt.time
获取
datetime.time
对象。

如果使用pandas,您可以调用
pandas.Series.dt.time
来获取
datetime.time
对象。

很好的解决方案!它能适应处理非UTC日期时间吗?很好的解决方案!它能适应处理非UTC日期时间吗?
def datetime64_to_time_of_day(datetime64_array):
    """
    Return a new array. For every element in datetime64_array return the time of day (since midnight).
    >>> datetime64_to_time_of_day(np.array(['2012-01-02T01:01:01.001Z'],dtype='datetime64[ms]'))
    array([3661001], dtype='timedelta64[ms]')
    >>> datetime64_to_time_of_day(np.datetime64('2012-01-02T01:01:01.001Z','[ms]'))
    numpy.timedelta64(3661001,'ms')
    """
    day = datetime64_array.astype('datetime64[D]').astype(datetime64_array.dtype)
    time_of_day = datetime64_array - day
    return time_of_day