python - 如何解析以`Z`结尾的日期时间?

标签 python python-3.x

我有以下日期时间字符串s

2017-10-18T04:46:53.553472514Z

我这样赞美:

t = datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')


如何修复ValueError:时间数据'2017-10-18T04:46:53.553472514Z'与格式'%Y-%m-%dT%H:%M:%SZ'不匹配

最佳答案

理论上,

t = datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%fZ')


将是正确的格式字符串,因为您也可以使用小数秒。但是它们将需要是微秒。您的时间可能是十亿分之一秒,因为%f最多只需要6位数字。

因此,您需要执行以下操作:

t = datetime.datetime.strptime(s.split(".")[0], '%Y-%m-%dT%H:%M:%S')
t = t + datetime.timedelta(microseconds=int(s.split(".")[1][:-1])/1000)

print (t)


这可以工作,但可以将纳秒转换为微秒。如果这样做不行,则需要执行其他操作。

关于python - 如何解析以`Z`结尾的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46906432/

相关文章:

python - 如何在函数返回后打印语句?

python - 提交表单后,Django httpresponse 不起作用

python - 在Python中调用函数中的子函数来处理同一个文件?

python:c-struct 和 wintypes

python - 返回节点邻域中最大的节点

python-3.x - 从图像中自动检测语言以提取 OCR 字符

python - MIMEText 中的标题编码

python-3.x - 转换图像时 OpenCV 错误

python - Django 不知何故无法确定简单的注释函数

python - 为什么当我将新元素附加到 TUPLE 时它会起作用?