Python过滤掉超出日期范围(过去一小时)的事件

我只尝试获取计划的“ potential_individual_meetings”,但前提是它们在最后一小时内发生,然后将推送通知发送给参与会议的用户。

推送通知可以很好地发送,但似乎并非始终都可以发送。在我看来,通知仅在NOW时间恰好在安排会议后1小时时发送。

我尝试执行以下操作,但似乎无法将用于Filter()。     现在> ONE_HOUR,现在

哪个将替换datetime__gte = INDIVIDUAL_RANGE_START,         datetime__lt = INDIVIDUAL_RANGE_END

我正在为非营利组织维护他人的代码,但是Python对我而言不是一门强大的语言。有人可以在这里给我任何帮助,将不胜感激。

NOW = timezone.now()
FIVE_MINUTES_AGO = NOW - timedelta(minutes=5)
ONE_HOUR = timedelta(hours=1)
NINETY_MINUTES = timedelta(minutes=90)

INDIVIDUAL_RANGE_START = FIVE_MINUTES_AGO - ONE_HOUR
INDIVIDUAL_RANGE_END = NOW - ONE_HOUR

    potential_individual_meetings = Event.objects.filter(
        status=1,datetime__gte=INDIVIDUAL_RANGE_START,datetime__lt=INDIVIDUAL_RANGE_END
    )
    individual_meetings = [e for e in potential_individual_meetings if not e.meeting.group]

duanchongxixi 回答:Python过滤掉超出日期范围(过去一小时)的事件

这似乎为您提供了1小时5分钟前到1小时前的范围:

INDIVIDUAL_RANGE_START = FIVE_MINUTES_AGO - ONE_HOUR
INDIVIDUAL_RANGE_END = NOW - ONE_HOUR

您想要的东西可能接近:

INDIVIDUAL_RANGE_START = NOW - ONE_HOUR
INDIVIDUAL_RANGE_END = FIVE_MINUTES_AGO

或者可能只是INDIVIDUAL_RANGE_END = NOW,但我想您有一个五分钟的缓冲时间是有原因的。

,

您的时间范围长度只有五分钟,但是听起来好像您希望是一小时,或者说是65分钟。

为什么不简单地改变它:

INDIVIDUAL_RANGE_END = NOW - ONE_HOUR

对此:

INDIVIDUAL_RANGE_END = NOW

无论如何,现在打印RANGE_START和RANGE_END变量,以及现在,都可能会向您显示问题所在。

本文链接:https://www.f2er.com/3087908.html

大家都在问