python中如何转化时间格式

现有时间格式:02/Jun/2014:00:00:01 +0800
要将它转成20140602
关键是最后的时区不知道怎么处理。

第1个回答  2014-08-29
最多也就1天的时间差担心啥。。估计也没人在乎1天的时间误差。

你先把时间02/Jun/2014:00:00:01 转换为时间对象t

再将t减去8小时偏移得到GMT标准时间,表现形式可为 01/Jun/2014:16:00:01 +0000。

根据你的当前时区偏移值转换时间即可获取当前日期。
第2个回答  2014-08-28
from datetime import datetime
strptime是类datetime的方法,不是模块datetime的方法
然后datetime.strptime("2010-07-08 00:00:00", "%Y-%m-%d %H:%M:%S")
希望对你能有所帮助。追问

后面那个时区呢?怎么处理?+0800

第3个回答  2014-08-28
这得问题主想怎么处理。。。
+0800表示在东八区
转换以后的日期是哪个时区啊?追问

就要东八区的时间。北京时间。

追答

那就忽略之好了。不知道题主为何如此纠结。。。

追问

还有其他区的可能呀。。。又不是只处理东八区。。

追答

先确认一下:时间格式应该是02/Jun/2014 00:00:01 +0800,中间用空格分开日期、时间和时区。对吗?

处理代码如下。

import datetime
def convert_dt(ss):
    sss = ss.split()
    ttt = datetime.datetime.strptime(" ".join(sss[:2]), "%d/%b/%Y %H:%M:%S")
    d8 = datetime.timedelta(hours=8) # +0800 time
    d = datetime.timedelta(hours=int(sss[-1])/100)
    ttt = ttt+(d-d8)
    return ttt.strftime("%Y%m%d");
# input date&time string
ss = "02/Jun/2014 00:00:01 +0800"
print convert_dt(ss)

本回答被提问者采纳
相似回答