我有一个数据集文件,其时间变量为“自 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/