所以我有datetime对象,我想在当地时间为用户显示。如何用pytz和tzlocal测试日期时间转换?
使用在这里回答问题,我想出了一个神社过滤器来实现:
from tzlocal import get_localzone
import pytz
def local_datetime(utc_dt):
local_tz = get_localzone()
local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz)
return local_dt.strftime('%m/%d/%y @ %I:%M %p')
app.jinja_env.filters['local_dt'] = local_datetime
{{ user.last_login_at|local_dt }} # in my template
我的想法是,它将运行每次浏览的页面(因此过滤器),使它将始终显示在用户的本地时区中。
它显示在我的开发机器上,但我想确保get_localzone()实际上抓住用户的本地时区,而不是服务器的。
我的问题是:如何测试此功能是否正常工作?
我相信'get_localtimezone'获取系统的时区,而不是客户端。 – dirn 2014-11-05 01:12:05