python - 自日期(不是纪元!)至今的秒数

标签 python python-datetime

我有一个数据集文件,其时间变量为“自 1981-01-01 00:00:00 以来的秒数”。 我需要的是将这个时间转换为日历日期(YYYY-MM-DD HH:mm:ss)。 自纪元(1970)以来,我已经看到了很多不同的方法来执行此操作(时间戳、calendar.timegm 等),但我无法使用不同的引用日期来执行此操作。

我想做一些不太漂亮但有效的事情:

time = 1054425600

st = (datetime.datetime(1981,1,1,0,0)-datetime.datetime(1970,1,1)).total_seconds()

datetime.datetime.fromtimestamp(st+time)

但任何其他方式都将受到欢迎!

最佳答案

你可以试试这个:

from datetime import datetime, timedelta

t0 = datetime(1981, 1, 1)
seconds = 1000000
dt = t0 + timedelta(seconds=seconds)
print dt
# 1981-01-12 13:46:40

此处 t0 设置为表示 1981-01-01 的“纪元”的 datetime 对象。这是您的引用日期时间,您可以向其中添加一个以任意秒数初始化的 timedelta 对象。结果是一个表示所需日期时间的 datetime 对象。

注意这假设 UTC 时间

关于python - 自日期(不是纪元!)至今的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34331819/

相关文章:

python - Pandas 将多个数据帧合并到一个时间索引上,并使用所有其他数据帧的最新值

python - 根据 30 分钟间隔计算分钟差异?

python - 为什么 scipy.optimize.linprog 返回不满足约束的解决方案?

python - 如何在Django中用 "SlugField()"增加 "unique=True"的大小?

python - 用 Python 加密

python - 使用每日时间序列数据(S&P 500(SPX 指数)每日价格)计算多个时间范围(年化、季度)的返回率

python - 使用 python opengl (PyOpenGL) 创建几何着色器失败

python - opencv - 将像素从 bgr 转换为 hsv

python - 创建具有任意开始日期的每月时间序列

python - 将 1 月 1 日午夜的小时数转换为实际日期