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

dns*_*sko 6 python

我一直在为此尝试一些代码,但我似乎无法完全绕过它.

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

我一直在试用代码 timedelta(hours=24)

from datetime import datetime, timedelta

now = datetime.now()
if now < (set_date - timedelta(hours=24)):
    raise ValidationError('')
Run Code Online (Sandbox Code Playgroud)

我不确定这是怎么回事,最好的方法是做什么.我如何确定当前时间是否在设定日期之前24小时?

L3v*_*han 9

像那样?

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

如果您想检查两侧24小时内的日期:

if now-timedelta(hours=24) <= set_date <= now+timedelta(hours=24):
    ... #date within 24 hours
Run Code Online (Sandbox Code Playgroud)

  • 对于复制粘贴狂人来说,缺少的导入是:“from datetime import datetime, timedelta”。`now` 变量是这样创建的:`now = datetime.now()` (2认同)

Shu*_*ane 5

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

在当前时间和过去时间之间进行时差,然后检查是否。天数为零。

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
Run Code Online (Sandbox Code Playgroud)

您可以检查total_seconds是否少于期望的时间

  • 这就是我一直在寻找的。谢谢 (2认同)