按日期时间过滤

时间:2013-10-12 19:11:12

标签: python django datetime django-views

我需要使用Datetime字段进行过滤,但我需要花费一小时时间,而不仅仅是日期,就像现在这样做,我不会把时间计算在日期之前。

view.py

 @login_required(login_url='/InicieSesion')
    def adendum_Detalle(request, credencial, fecha):
    print 'subsecuente detalle'
    date_for_search = datetime.datetime.strptime(fecha, '%Y%m%d').date()
    print date_for_search
    formulario =   get_object_or_404(adendum,adendum_credencial=credencial,adendum_fecha=date_for_search)
    return render(request, 'adedetalle.html', {'formulario': formulario})

我试图在这里添加日期(fecha,'%Y%m%d')将其转换为字符串,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用datetimefield__yeardatetimefield__day等在Django中过滤日期时间的特定部分。

如果您尝试按日期和小时进行过滤,则可以执行以下操作:

formulario =   get_object_or_404(adendum,adendum_credencial=credencial,
    adendum_fecha__year=date_for_search.year, 
    adendum_fecha__month=date_for_search.month, 
    adendum_fecha__day=date_for_search.day,
    adendum_fecha__hour=1)

我觉得可能有更好的方法来实现这一点,可能是通过基于date_for_search构建一个datetime对象,并结合你正在寻找的小时,但是你必须忽略分钟/秒。那个案子,我不能说我很确定如何做到这一点。不过,这应该可以让你入门!