Mar*_*ram 4 python datetime python-3.x python-datetime
在Python 3.10.8中,如果我写
from datetime import datetime
print(datetime.fromisoformat('2011-11-04T00:05:23Z'))
Run Code Online (Sandbox Code Playgroud)
我收到错误
from datetime import datetime
print(datetime.fromisoformat('2011-11-04T00:05:23Z'))
Run Code Online (Sandbox Code Playgroud)
这是令人惊讶的,因为这个例子是直接取自datetime模块文档的:
>>> from datetime import datetime
# ...
>>> datetime.fromisoformat('2011-11-04T00:05:23Z')
datetime.datetime(2011, 11, 4, 0, 5, 23, tzinfo=datetime.timezone.utc)
Run Code Online (Sandbox Code Playgroud)
这是文档中的错误还是错误?
在 Python 3.11 之前,fromisoformat需要与isoformat.
Pythonisoformat不支持尾随Z作为 +00:00 的别名,因此会出现错误。
来自 3.10 文档:
注意 - 这不支持解析任意 ISO 8601 字符串 - 它仅用作 datetime.isoformat() 的逆操作 https://docs.python.org/3.10/library/datetime.html#datetime.datetime.fromisoformat
来自 >=3.11 文档:
在版本 3.11 中更改:以前,此方法仅支持 date.isoformat() 或 datetime.isoformat() 可以发出的格式:https://docs.python.org/3/library/datetime.html#datetime.datetime .fromisoformat
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |