在Python中将整数转换为datetime

时间:2012-03-30 18:43:40

标签: python datetime scikits

我的代码:

import datetime as dt
import scikits.timeseries as ts

ts_start_datetime= ts.Date(freq='T',year=2011,month=1,day=1,hour= 0,minute=0)
ts_end_datetime = ts.Date(freq='T',year=2011,month=12,day=31,hour=23,minute=45)

start_val = ts_start_datetime.value
#   21564001
end_val = ts_end_datetime.value
#   22089586

如何将start_valend_val转换为datetime个对象?

1 个答案:

答案 0 :(得分:3)

使用datetime.fromtimestamp(),因为您的值似乎是分钟而不是秒,首先将它们乘以60:

start_dt = dt.datetime.fromtimestamp(start_val * 60)
end_dt = dt.datetime.fromtimestamp(end_val * 60)

如果您想要UTC时间而不是当地时间,请使用datetime.utcfromtimestamp()

>>> dt.datetime.utcfromtimestamp(21564001 * 60)
datetime.datetime(2011, 1, 1, 0, 1)
>>> dt.datetime.utcfromtimestamp(22089586 * 60)
datetime.datetime(2011, 12, 31, 23, 46)

我不确定为什么每一个都是在你开始之后一分钟,你总是可以在通话前减去60或从最终结果中减去dt.timedelta(minutes=1)