【发布时间】:2019-01-19 15:11:17
【问题描述】:
目前,我们正在开发一个应用程序,该应用程序正在尝试使用 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')
此示例代码产生此异常:
ValueError: time data '2019-01-19T15:13:00.000+01:00' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'
如果我们从输入字符串中删除:,它会起作用,不会引发异常。
当我们在 Windows、Python 3.7.2 上运行此代码时,该代码也可以工作。
会不会是因为 Python 版本不同?我们如何才能正确地解析或转换它?
【问题讨论】:
标签: python python-3.6 python-datetime python-3.7