同一天的所有帖子只有djang

2024-04-26 10:04:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有:

@classmethod
def get_past_week(self):
    start_date = datetime.now().date()
    end_date = datetime.now().date() - timedelta(weeks=1)
    return MyModel.objects.filter(pub_date__range=(end_date, start_date)).aggregate(Sum('off_hours'))

只需从当前日期减去7天的时间内提取所有帖子

我想在同一天内拉在目前的时间因素的职位。因此,如果现在的时间是格林威治标准时间15:00,我希望从格林威治标准时间14:59:49返回到同一天的格林威治标准时间00:00:01的所有帖子。我怎么能做那样的事?你知道吗

我试过这样的方法(不管用)

def get_today_hours(self):
    start_time = datetime.now().time()
    end_time = datetime.now().time() - timedelta(hours=datetime.today().hour, minutes=0, seconds=0)
    return MyModel.objects.filter(pub_date__range=(end_time, start_time))

根据这个post on SO,有一种方法可以使用CURDATE()从同一天获取项目


Tags: self标准getdatetimedatereturntimedef
2条回答

这个怎么样:

from datetime import datetime, timedelta

end_time = datetime.now()
start_time = datetime.combine(end_time, datetime.min.time()) #Reset the hours/time offset
qs =  MyModel.objects.filter(pub_date__range=(start_time, end_time))

或者更简单的事情:

qs = MyModel.objects.filter(pub_date__startswith=end_time.date())

您可以执行以下操作

end_time = datetime.now()
start_time = datetime(end_time.year,end_time.month,end_time.day)

将结束时间设置为实际时间,开始时间与结束时间设置为同一天,但时间为0小时零秒。你知道吗

相关问题 更多 >