我收到一张打印时间数据的json' 2016-04-15T02:19:17 + 00:00'我似乎无法弄清楚这个unicode字符串的格式。
我需要找到当时和现在之间的时间差异。第一步是将字符串转换为结构化格式,而Iam无法找到格式
fmt='"%Y-%m-%d %H:%M:%S %Z'
#fmt='%Y-%m-%d %H:%M:%S.%f'
print datetime.datetime.strptime(result_json['alert_time'], fmt)
我一直异常认为格式不一样
time data '2016-04-15T02:19:17+00:00' does not match format '"%Y-%m-%d %H:%M:%S %Z'
答案 0 :(得分:1)
您的格式存在一些问题。首先,它有一个双引号T
。其次,您需要在日期和时间之间包含print datetime.datetime.strptime('2016-04-15T02:19:17', '%Y-%m-%dT%H:%M:%S')
。第三,时区偏移不是标准的。以下是可行的代码:
alert_time
如果您的strptime
始终处于GMT状态,则可以在调用{{1}}之前关闭时区。
答案 1 :(得分:0)
布伦特的答案是更安全,更快捷的选择,而不是让事情发生在幕后。但是我已经datetime
作为一个令人沮丧的瓶颈的次数与我想测试的主要问题无关,我还要指出dateparser
here尚未发现对我来说是错误的,并会采取大量的投入。
import dateparser
import datetime
date = '2016-04-15T02:19:17+00:00'
date_parser_format = dateparser.parse(date)
datetime_format = datetime.datetime.strptime('2016-04-15T02:19:17', '%Y-%m-%dT%H:%M:%S')
print date_parser_format
print datetime_format