Python 如何将UTC日期时间字符串转换为日期?
有一个datetime字符串,我想将其转换回日期。时区给我带来了麻烦,我不知道如何解决它Python 如何将UTC日期时间字符串转换为日期?,python,datetime,python-2.7,Python,Datetime,Python 2.7,有一个datetime字符串,我想将其转换回日期。时区给我带来了麻烦,我不知道如何解决它 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:未转换的数据仍保留:-000
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
)的情况下以本机方式解决此问题,因此副本中的解决方案对我没有帮助
import dateutil.parser
date = dateutil.parser.parse(json_event['date_time'])
如果您没有dateutil
,请获取它
pip install python-dateutil
如果您总是获得UTC时间:忽略最后6个字符(空格、符号、4个数字),然后转换为datetime,就像您在没有%Z时所做的那样 您将遇到的一个问题是,您的系统将假定它是您的本地时区,如果您将其转换为任何其他时区,它将错误地转换。在这种情况下,下一步是使用另一个问题 如果您还获得了非UTC时间:
%H%M
)-->Y
X
我不想使用
dateutil.parser
的可能重复项。还有其他两个关于这个问题的好答案,看看吧,你的意思是接受的答案有一个好的解决方案吗?阅读下面的评论。我把这个留在这里,也许其他人有更好的主意。谢谢,教授,我知道这个解决方案。如果可能的话,我宁愿不使用任何外部lib。@Hooman那么您必须进行一些字符串操作,因为python stdlib不处理-0000
(等等)