尝试将此日期格式Thu Apr 26 22:51:49 PDT 2018
转换为UTC 2018-04-26T22:51:49Z
我不关心日期部分,可以将其排除在外。
type(results[0].create_date)
返回
<class 'str'>
到目前为止,我已尝试过这个
print (datetime.strptime((results[0].create_date), "%Y-%m-%dT%H:%M:%SZ"))
但未能解决此错误
ValueError: time data 'Thu Apr 26 22:51:49 PDT 2018' does not match format '%Y-%m-%dT%H:%M:%SZ'
答案 0 :(得分:1)
您的代码无效的原因是%Y-%m-%dT%H:%M:%SZ
字符串模式与results[0].create_date
变量中日期的表示方式不匹配。 datetime.strptime
尝试将给定字符串与您指定的格式匹配以提取日期时间对象。修改格式化程序可能会有所帮助,但您可能会遇到PDT
部分的问题。
我建议使用dateutil.parser模块。您可以执行以下操作:
import dateutil.parser
x = parser.parse(results[0].create_date)
print x
>>> 2018-04-26 22:51:49
这将返回一个日期时间对象,您可以格式化,但是要按照问题中的建议包含“T”和“Z”。
注意:我已根据您的输入和所需输出完成此操作。但是,您必须注意Thu Apr 26 22:51:49 PDT 2018 in UTC
不等于2018-04-26T22:51:49Z
,因为PDT比UTC晚7个小时。