我必须在 python 中处理代表iso8601时间戳的字符串。
因此,我的时间戳字符串采用以下形式:
timestamp = "2011-08-18T10:29:47+03:00"
目前我正在使用python将它们转换为:
timestamp = timestamp[:-6]
timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S")
但是这样我就丢失了有关时区的所有信息。我在这里看到了很多关于时间戳和 python 的例子,不幸的是没有人也保留时区,或者只是使用以下方法恢复时区延迟:
delay = timestamp[-6:]
我也试过:
timestamp = "2011-08-18T10:29:47+03:00"
timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S%z")
但它回来了
ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S%z'
你能提供一些见解吗?