Python 检查日期是否在 24 小时内

新手上路,请多包涵

我一直在为此尝试一些代码,但我似乎无法完全理解它。

我有一个设定的日期, set_date 这只是您所期望的一些随机日期,而那个只是我得到的数据。现在我想要一些错误函数,如果 datetime.now()set_date 的 24 小时内会引发错误。

我一直在尝试使用 timedelta(hours=24) 编写代码

from datetime import datetime, timedelta

now = datetime.now()
if now < (set_date - timedelta(hours=24)):
    raise ValidationError('')

我不确定该怎么做,好方法是什么。如何检查当前时间是否比设定日期早 24 小时?

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

阅读 679
2 个回答

像那样?

 if now-timedelta(hours=24) <= set_date <= now:
    ... #date less than 24 hours in the past

如果您想检查两边的日期是否在 24 小时内:

 if now-timedelta(hours=24) <= set_date <= now+timedelta(hours=24):
    ... #date within 24 hours

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

检查日期是否在 24 小时内。

将当前时间与过去时间进行比较,并检查是否为 no。天数为零。

 past_date = datetime(2018, 6, 6, 5, 27, 28, 369051)

difference = datetime.utcnow() - past_date

if difference.days == 0:
    print "date is within 24 hours"

## Also you can check the difference between two dates in seconds
total_seconds = (difference.days * 24 * 60 * 60) + difference.seconds
# Edited. Also difference have in-built method which will return the elapsed seconds.
total_seconds = difference.total_seconds()

您可以检查 total_seconds 是否小于所需时间

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

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