python - 仅使用标准库在 Python 中解析和比较日期
问题描述
前段时间,我不得不在 python 中编写一个小脚本,其中包括解析 ISO8601 格式的日期字符串并将其与当前日期时间进行比较。
由于我不使用 Python 编码,因此我一直在寻找解决方案。令我非常失望的是,我发现的所有建议解决方案都建议使用第三方库来完成这项工作。本质上,我最终这样做了(为简洁起见):
import iso8601
import pytz
utc = pytz.UTC()
event_date = iso8601.parse_date('2002-10-02T15:00:00.05Z')
now = utc.localize(datetime.utcnow())
# Only now I was able to compare the dates
if event_date - timedelta(hours=3) < now:
<do something>
我对我必须为这样的常见任务导入两个第三方库这一事实感到不舒服。
如何仅使用仅在 Python 标准库中可用的内容来完成上述操作并避免以下错误:
- 无法比较 offset-naive 和 offset-aware 日期时间
- 无法比较 tz-naive 和 tz-aware datetime-like objects
解决方案
推荐阅读
- javascript - React js:将Material-UI功能代码转换为类组件抛出typerror
- c# - 有没有办法将对象的位置存储在对象内部的 C# 列表中?
- docker - 如何在 docker-compose 中将主机网络暴露给 docker 容器?
- javascript - Javascript:以特定数组格式重新排列 json 输出
- python - python cpp通信中带有tensorflow 2.2 env的Pybind11异常
- azure - 对于 azure 企业应用程序,是否可以允许应用程序以编程方式管理应用程序角色?
- vue.js - Nuxt 异步数据 - 服务器正在缓存
- javascript - javascript中的抽象/接口类
- react-native - React-native Flatlist 中的 renderItem 错误
- javascript - 为网站创建一个“一次性可点击”按钮