我想将一个日期时间字符串转换回日期。时区给了我麻烦,我不知道如何解决它。
datetime.datetime.strptime(json_event['date_time'], '%a, %d %b %Y %H:%M:%S %Z')
我收到错误消息:
ValueError:时间数据'星期二,2014年4月8日17:57:34 -0000'不匹配 格式'%a,%d%b%Y%H:%M:%S%Z'
如果我离开%Z
,我会收到以下错误消息:
ValueError:未转换的数据仍为:-0000
日期最初是UTC:
current_date = datetime.datetime.utcnow()
更新
我想在没有任何外部库(例如dateutil.parser
)的情况下本地解决这个问题,因此复制品中的解决方案对我没有帮助。
答案 0 :(得分:2)
import dateutil.parser
date = dateutil.parser.parse(json_event['date_time'])
如果你没有dateutil
,那就去吧。
pip install python-dateutil
答案 1 :(得分:0)
如果你总是得到UTC时间:忽略最后6个字符(空格,符号,4个字谜),然后在没有%Z的情况下转换为日期时间。
您遇到的一个问题是您的系统会认为它是您当地的时区,如果您将其转换为任何其他时区,它将会错误地转换。在这种情况下,下一步是使用另一个问题的this answer。
如果您也获得非UTC时间:
%H%M
) - > Y
X