python - 将整数秒值转换为日期时间。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)
是否有更快的数组转换方法。
解决方案
numpy
支持使用 timedelta 类型的日期时间数组来操作它们:
https ://numpy.org/doc/stable/reference/arrays.datetime.html
例如,您可以这样做:
import numpy as np
date_array = np.arange('2005-02', '2005-03', dtype='datetime64[D]')
date_array += np.timedelta64(4, 's') # Add 4 seconds
如果您有一个秒数组,则可以将其转换为 timedeltas 数组并将其添加到固定的日期时间
推荐阅读
- c# - 不使用 ASP.NET Core 时如何在 C# 中使用配置?
- powershell - 使用多个 If/ElseIf 语句还是使用具有多个 OR 条件的单个 If 语句更有效?
- bash - 忽略差异中的正则表达式
- ios - 链接命令后的 React-native iOS 构建错误
- sql - 如何在postgresql中从当前日期生成最后7个日期的系列?
- javascript - 更新包含flask-socketio中消息列表的字典时出现线程错误异常
- reactjs - 我使用 axios 在我的发布请求中中止了请求
- reactjs - 在 reactJs 应用程序中检测 inAppBrowser
- c# - 导航属性上的 LINQ 过滤器
- r - R闪亮和ggplot2:如何使geom_col的边框透明?