在我的python代码中,我得到了一些开始和结束时间:
end = int(time.time())
start = end - 1800
现在,开始和结束变量保存的值如1460420758和1460422558。
我试图以有意义的格式转换它,如:
Mon Apr 11 17:50:25 PDT 2016
但我无法这样做,我试过了:
time.strftime("%a %b %d %H:%M:%S %Y", time.gmtime(start))
给我
Tue Apr 12 00:25:58 2016
但不仅时区而且H:M:S错了
由于日期返回以下信息:
$ date
Mon Apr 11 18:06:27 PDT 2016
如何纠正?
答案 0 :(得分:0)
这个涉及利用strftime模块将日期时间用于您想要的格式。
重要的是,为了做到这一点,你必须获得的时间信息必须是UTC。否则,你注定了D:
我正在使用timedelta来“添加”时间。它也会增加日期。我仍然建议使用上面共享的模块来处理时区。
import time
# import datetime so you could play with time
import datetime
print int(time.time())
date = time.gmtime(1460420758)
# Transform time into datetime
new_date = datetime.datetime(*date[:6])
new_date = new_date + datetime.timedelta(hours=8)
# Utilize datetime's strftime and manipulate it to what you want
print new_date.strftime('%a %b %d %X PDT %Y')