将JSON日期字符串转换为Python日期时间

将日期转换为JSON时,javascript会以以下格式保存日期:

2012-05-29T19:30:03.283Z

但是,我不确定如何将其放入python datetime对象。我已经尝试过这些:

# Throws an error because the 'Z' isn't accounted for:

datetime.datetime.strptime(obj[key], '%Y-%m-%dT%H:%M:%S.%f')

# Throws an error because '%Z' doesn't know what to do with the 'Z'

# at the end of the string

datetime.datetime.strptime(obj[key], '%Y-%m-%dT%H:%M:%S.%f%Z')

我相信javascript会将字符串保存为官方ISO格式,因此似乎应该有一种方法可以让python datetime.strptime()读取它?

回答:

请尝试以下格式:

%Y-%m-%dT%H:%M:%S.%fZ

例如:

>>> datetime.datetime.strptime('2012-05-29T19:30:03.283Z', '%Y-%m-%dT%H:%M:%S.%fZ')

datetime.datetime(2012, 5, 29, 19, 30, 3, 283000)

Z的日期只是手段,它应该被解释为UTC时间,所以忽略它不会造成任何信息丢失。您可以在这里找到此信息:http : //www.w3.org/TR/NOTE-datetime

以上是 将JSON日期字符串转换为Python日期时间 的全部内容, 来源链接: utcz.com/qa/404750.html

回到顶部