Django时区支持模板之外

时间:2013-07-18 19:14:24

标签: django timezone django-timezone

Django的时区感知输出显然是only applies when rendering a template。有没有办法让返回CSV或JSON的响应的当前活动时区进行相同的自动转换?

1 个答案:

答案 0 :(得分:1)

似乎调用模板中转换日期时间的基础函数是django.utils.timezone.template_localtime()。源代码旁边的另一个实用函数localtime,如下所示:

def localtime(value, timezone=None):
    """
    Converts an aware datetime.datetime to local time.

    Local time is defined by the current time zone, unless another time zone
    is specified.
    """
    ...

所以也许以下方法可行:

from django.utils.timezone import localtime, get_current_timezone

...

print localtime(obj.date_created, user.get_profile().timezone or get_current_timezone())