python – 如何解析ISO 8601格式的日期?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何解析ISO 8601格式的日期?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1250字,纯文字阅读大概需要2分钟。
内容图文
![python – 如何解析ISO 8601格式的日期?](/upload/InfoBanner/zyjiaocheng/717/2eb3ca12051240e3ad753a5ea2841b4f.jpg)
我需要将像“2008-09-03T20:56:35.450686Z”这样的RFC 3339字符串解析为Python的日期时间类型.
我在Python标准库中找到了strptime,但它不是很方便.
做这个的最好方式是什么?
解决方法:
python-dateutil包不仅可以解析RFC 3339日期时间字符串,例如问题中的字符串,还可以解析不符合RFC 3339的其他ISO 8601个日期和时间字符串(例如没有UTC偏移的字符串或仅代表RFC偏移的字符串)一个约会).
>>> import dateutil.parser
>>> dateutil.parser.parse('2008-09-03T20:56:35.450686Z') # RFC 3339 format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686, tzinfo=tzutc())
>>> dateutil.parser.parse('2008-09-03T20:56:35.450686') # ISO 8601 extended format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>> dateutil.parser.parse('20080903T205635.450686') # ISO 8601 basic format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>> dateutil.parser.parse('20080903') # ISO 8601 basic format, date only
datetime.datetime(2008, 9, 3, 0, 0)
请注意,dateutil.parser是故意hacky:它试图猜测格式并在不明确的情况下做出不可避免的假设(仅可手工定制).因此,如果您需要解析未知格式的输入并且可以容忍偶尔的误读,那么只能使用它. (感谢ivan_pozdeev)
Pypi名称是python-dateutil,而不是dateutil(感谢code3monk3y):
pip install python-dateutil
如果您使用的是Python 3.7,请查看有关datetime.datetime.fromisoformat的this answer.
内容总结
以上是互联网集市为您收集整理的python – 如何解析ISO 8601格式的日期?全部内容,希望文章能够帮你解决python – 如何解析ISO 8601格式的日期?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。