我如何在 timezone.now() 前 1 天
How do I get 1 day before timezone.now()
我有一个按钮应该出现在模型对象 start_date 前 1 天。在我看来,我有一个函数可以告诉我对象的 start_date 或 end_date 现在是否为
def has_engagement(self):
from rental.models import Inquiry
inquiries = Inquiry.objects.filter(inquiryequipment__equipment=self).filter(start_date__lte= timezone.now()).\
filter(end_date__gte=timezone.now()).filter(status="CO")
if not inquiries:
return False
# no current confirmed engagement
else:
return True
# there is a current confirmed engagement
除此之外,我需要检查今天是否是开始日期或结束日期的前一天。
有任何想法吗?谢谢
您可以按如下方式使用 timedelta:
previous = timezone.now() - timedelta(1) # returns date object of previous day
next = timezone.now() + timedelta(1) # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)
请注意,您可以使用逗号分隔来过滤查询集和查询
with out date formate
previous = timezone.now() - timedelta(1) # returns date object of previous day
next = timezone.now() + timedelta(1) # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)
with date formate
previous = (timezone.now() - timedelta(1)).strftime('%Y-%d-%m') # returns date object of previous day
next = (timezone.now() + timedelta(1)).strftime('%Y-%d-%m') # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)
我有一个按钮应该出现在模型对象 start_date 前 1 天。在我看来,我有一个函数可以告诉我对象的 start_date 或 end_date 现在是否为
def has_engagement(self):
from rental.models import Inquiry
inquiries = Inquiry.objects.filter(inquiryequipment__equipment=self).filter(start_date__lte= timezone.now()).\
filter(end_date__gte=timezone.now()).filter(status="CO")
if not inquiries:
return False
# no current confirmed engagement
else:
return True
# there is a current confirmed engagement
除此之外,我需要检查今天是否是开始日期或结束日期的前一天。 有任何想法吗?谢谢
您可以按如下方式使用 timedelta:
previous = timezone.now() - timedelta(1) # returns date object of previous day
next = timezone.now() + timedelta(1) # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)
请注意,您可以使用逗号分隔来过滤查询集和查询
with out date formate
previous = timezone.now() - timedelta(1) # returns date object of previous day
next = timezone.now() + timedelta(1) # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)
with date formate
previous = (timezone.now() - timedelta(1)).strftime('%Y-%d-%m') # returns date object of previous day
next = (timezone.now() + timedelta(1)).strftime('%Y-%d-%m') # returns date object of next day
Inquiry.objects.filter(start_date__lte=previous, end_date__gte=next, status="CO", inquiryequipment__equipment=self)