在Django和Python中计算来自周日和开始时间的下一个6个会话

时间:2016-03-06 12:17:26

标签: python django datetime dayofweek

我在Django框架中有一个python视图,它可以访问一个数据库,在这个表中有一个名为Sessions的表我有星期几和开始时间。我想要做的是根据我网站的当前日期和时间获得接下来的6个会话。

sessions = []
for i in range(7):
    dow = (int(day_of_week) + i)
    dow_mod = dow % 7
    week_numb_mod = week_numb
    if dow >= 7:
        week_numb_mod = week_numb + 1
    begin_code = str(now.year) + "-W" + str(week_numb_mod)
    begin_date = datetime.datetime.strptime(begin_code + '-0', "%Y-W%W-%w")
    actual_date = begin_date + datetime.timedelta(days=dow_mod)
    for record in Session.objects.filter(day_of_week=dow_mod):
        actual_datetime = datetime.datetime.combine(actual_date, record.start_time)
        if now < actual_datetime:
            sessions.append(record)
sessions = sessions[:6]

出于某种原因,当我在周中时,actual_date跳了一周,我似乎无法弄明白。如果有人知道我哪里出错或知道更简单的方法,那么帮助就会受到欢迎。

0 个答案:

没有答案