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