Python 自日期(非历元!)到日期的秒数

Python 自日期(非历元!)到日期的秒数,python,python-datetime,Python,Python Datetime,我有一个数据集文件,其中包含一个时间变量,单位为“自1981年1月1日起的秒数00:00:00”。 我需要的是将这个时间转换为日历日期(YYYY-MM-DD HH:MM:ss)。 自从epoch(1970年)以来,我已经看到了很多不同的方法来处理时间(timestamp、calendar.timegm等),但是我没有用不同的参考日期来处理这个问题 我曾想过做一些不漂亮的事情,但效果很好: time = 1054425600 st = (datetime.datetime(1981,1,1,0,

我有一个数据集文件,其中包含一个时间变量,单位为“自1981年1月1日起的秒数00:00:00”。 我需要的是将这个时间转换为日历日期(YYYY-MM-DD HH:MM:ss)。 自从epoch(1970年)以来,我已经看到了很多不同的方法来处理时间(timestamp、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时间

您可以尝试以下方法:

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时间不在我的脑海中。。。这不是一个Excel格式的Excel文件或类似的文件吗?一个用于解析Excel文件的库应该能够正确解码…@deceze-这是一个netcdf文件…在我的脑海中。。。这不是一个Excel格式的Excel文件或类似的文件吗?用于解析Excel文件的库应该能够正确解码…@deceze-这是一个netcdf文件。。。