[ django时间的使用 ]


django内时间的使用

    if start_date and end_date:
        start_date = timezone.make_aware(datetime.strptime(start_date, "%Y/%m/%d"), timezone.get_current_timezone()).date()
        end_date = timezone.make_aware(datetime.strptime(end_date, "%Y/%m/%d"), timezone.get_current_timezone()).date()
        query &= Q(repair_order__check_in__range=(start_date, end_date + timedelta(days=1)))
    else:
        max_date = RepairOrder.objects.all().aggregate(Max('check_in')).get("check_in__max")
        min_date = RepairOrder.objects.all().aggregate(Min('check_in')).get("check_in__min")
        if start_date:
            start_date = timezone.make_aware(datetime.strptime(start_date, "%Y/%m/%d"), timezone.get_current_timezone()).date()
            if max_date:
                end_date = max_date.date()
            query &= Q(repair_order__check_in__gte=start_date)
        elif end_date:
            end_date = timezone.make_aware(datetime.strptime(end_date, "%Y/%m/%d"), timezone.get_current_timezone()).date()
            if min_date:
                start_date = min_date.date()
            query &= Q(repair_order__check_in__lte=end_date+ timedelta(days=1))
        else:
            start_date = end_date = timezone.now().date()
            if max_date: 
                end_date = max_date.date()
            if min_date: 
                start_date = min_date.date()