6

Django 的时区感知输出显然只适用于渲染模板时。有没有办法让返回 CSV 或 JSON 的响应自动转换到当前活动的时区?

4

1 回答 1

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())
于 2013-10-09T18:44:33.603 回答