我如何找到日期格式?

时间:2016-05-10 17:59:09

标签: python datetime

我收到一张打印时间数据的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'

2 个答案:

答案 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