目前,我们正在开发一个应用程序,该应用程序尝试使用 2.db.transport.rest API 计算从 a 到 b 的路线的旅行时间。
不幸的是,我们正在从该 API 接收带有时区偏移量的时间戳,例如+01:00. 我们需要的是一个没有:, 所以的时区偏移量+0100。
以下示例在 Linux 上使用 Python 3.6.7 给出错误:
from datetime import datetime
datetimestring = "2019-01-19T15:13:00.000+01:00"
datetime.strptime(datetimestring, '%Y-%m-%dT%H:%M:%S.%f%z')
Run Code Online (Sandbox Code Playgroud)
此示例代码产生此异常:
ValueError: time data '2019-01-19T15:13:00.000+01:00' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'
Run Code Online (Sandbox Code Playgroud)
如果我们:从它工作的输入字符串中删除,则不会抛出异常。
当我们在 Python 3.7.2 上的 Windows 上运行该代码时,该代码也有效。
可能是因为不同的 Python 版本?我们如何解析或转换它而不会出错?