代码之家  ›  专栏  ›  技术社区  ›  Michael Morisy

在Python/Django中基于日期过滤,忽略时间

  •  4
  • Michael Morisy  · 技术社区  · 16 年前

    例如,这可以完美地将以下所有事件组合在一起:

    @login_required
    def invoice_picker(request):
        """Grab a date from the URL and show all the invoicable deliveries for that day."""
        query = request.GET.get('q' , '2/9/1984')
        date = datetime
        date = datetime.strptime('7/14/2010', '%m/%d/%Y')
        date = date.strptime(query, '%m/%d/%Y')
        results = []
        if query:
            results = LaundryDelivery.objects.filter(end__gte=date)
        return render_to_response('invoicer.html', {
            'results' : results,
            'date' : date,
            'user' : request.user,
        })
    

    但是当我删除u gte时,它不会返回任何内容,因为日期是2010-06-22 04:04:00,而不是2010-06-22 00:00:00。我也试过:

     results = LaundryDelivery.objects.filter(end.date=date)
    

    1 回复  |  直到 16 年前
        1
  •  8
  •   ars    16 年前

    我不认为有一个好方法来比较日期时间和日期。一种方法如下:

    filter(end__year=date.year, end__month=date.month, end__day=date.day)
    

    另一种是使用 range 查找当天的最小时间和最大时间。

    推荐文章