Django的时区感知输出显然是only applies when rendering a template。有没有办法让返回CSV或JSON的响应的当前活动时区进行相同的自动转换?
答案 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())