将整数秒值转换为日期时间。Python

我试图找出将秒数组自动转换为日期时间的最简单方法。我非常熟悉将 1970 年的秒数转换为日期时间,但我这里的值是给定一天中经过的秒数。例如,14084 是 2011 年 11 月 11 日过去的秒数,我能够生成下面的日期时间。


str(dt.timedelta(seconds = 14084))

Out[245]: '3:54:44'


dt.datetime.combine(date(2011,11,11),time(3,54,44))

Out[250]: datetime.datetime(2011, 11, 11, 3, 54, 44)

有没有更快的数组转换方法。


杨魅力
浏览 161回答 2
2回答

九州编程

例如你可以这样做:import numpy as npdate_array = np.arange('2005-02', '2005-03', dtype='datetime64[D]')date_array += np.timedelta64(4, 's')  # Add 4 seconds如果您有一个秒数组,您可以将其转换为一个时间增量数组并将其添加到固定日期时间

繁星coding

说你有seconds = [14084, 14085, 15003]你可以使用熊猫import pandas as pdseries = pd.to_timedelta(seconds, unit='s') + pd.to_datetime('2011-11-11')series = series.to_series().reset_index(drop=True)print(series)0   2011-11-11 03:54:441   2011-11-11 03:54:452   2011-11-11 04:10:03dtype: datetime64[ns]或者列表理解list_comp = [datetime.datetime(2011, 11, 11) +    datetime.timedelta(seconds=s) for s in seconds]print(list_comp)[datetime.datetime(2011, 11, 11, 3, 54, 44), datetime.datetime(2011, 11, 11, 3, 54, 45), datetime.datetime(2011, 11, 11, 4, 10, 3)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python