从django中的数据库添加一天

时间:2013-02-25 07:01:16

标签: python django time

您好,

我需要在时基上添加一些条件,现在我从数据库获取的时间值就像 2012-09-05 05:05:05 ,我需要添加24这个小时。

我需要在时基上显示不同的内容,就像我需要显示“hi”的原始时间一样,24小时后我需要在模板文件中显示“hello”。

我该怎么做?请帮帮我。

3 个答案:

答案 0 :(得分:2)

可能自定义模板标记是一种很好的方式:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters。您可以使用参数实现自己的deltaDays标记,即{{ date|deltaDays:1 }}

答案 1 :(得分:2)

您也可以将其作为便宜的过滤器。

from django import template
register = template.Library()
@register.filter()
def is_at_least_24_hours_ago(value):
    import datetime
    original_date_plus_24 = value + datetime.timedelta(hours=24)
    right_now = datetime.datetime.now()
    if right_now >= original_date_plus_24:
        return True
    return False

然后在你的模板中:

{% if object_date|is_at_least_24_hours_ago %}
    // It's 24 hours later
{% else %}
    // It's not
{% endif %}

答案 2 :(得分:1)

这是关于如何添加日期的示例,

import datetime
b = var_name + datetime.timedelta(0,3) # days, seconds

or 

datetime.timedelta(days=1)

通过视图传递值,然后在模板中使用if语句