TypeError:无法比较原始偏移和偏移感知日期时间

新手上路,请多包涵

我从电子邮件中得到 datetime 对象,然后尝试将它与 datetime.now() 进行比较。

然后我看到这个错误:

 datetime.now() > datetime.strptime('Fri, 31 Jan 2020 09:59:34 +0000 (UTC)', "%a, %d %b %Y %H:%M:%S %z (%Z)"

TypeError: can't compare offset-naive and offset-aware datetimes

如何解决?

原文由 Yaroslav 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 572
1 个回答

在许多情况下,您不想转换任何时区信息。为防止这种情况,只需将日期时间对象转换为比较器两侧的浮点数。使用 datetime.timestamp() 功能。

我还建议您使用 dateutil.parser.parse(). 它更易于阅读。

在您的示例中,您可以像这样比较数据:

 compare_date = 'Fri, 31 Jan 2020 09:59:34 +0000 (UTC)'
datetime.now().timestamp() > parse(compare_date).timestamp()

原文由 macetw 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题