【发布时间】:2015-10-01 04:27:14
【问题描述】:
我的 jinja2 模板代码中有用于本地化的代码。
{% set currency = "SEK" %}
{% set format = "sv_SE" %}
{% set timezoneinfo = 'Europe/Stockholm' %}
{% set locale = "se" %}
但是,如果我像这样使用它与使用来自谷歌搜索 API 结果的值进行过滤的过滤器一起使用它,它不会工作数小时和数分钟。
{{scored_document.fields.10.value|datetimeformat_list(hour=scored_document.fields.17.value|int ,minute =scored_document.fields.18.value|int, timezoneinfo=timezoneinfo, locale=locale)}}
过滤器
def datetimeformat_list(date, hour, minute, locale='en', timezoneinfo='Asia/Calcutta'):
tzinfo = timezone(timezoneinfo)
input = datetime(date.year, date.month, date.day, int(hour), int(minute), tzinfo=tzinfo)
time_str = format_time(input, 'H:mm', tzinfo=tzinfo, locale=locale)
return "{0}".format(time_str)
代码给出的时间与我做的不同
{{ ad.modified|datetimeformat_viewad(locale='se', timezoneinfo='Europe/Stockholm') }}
使用此过滤器
def datetimeformat_viewad(to_format, locale='en', timezoneinfo='Asia/Calcutta'):
tzinfo = timezone(timezoneinfo)
month = MONTHS[to_format.month - 1]
date_str = '{0} {1}'.format(to_format.day, _(month))
time_str = format_time(to_format, 'H:mm', tzinfo=tzinfo, locale=locale)
return "{0} {1}".format(date_str, time_str)
为什么输出的时间不一样?
【问题讨论】:
-
我认为您没有提供足够的信息。您谈到了过滤器,但您还没有说您是否使用数据存储、文本搜索或其他东西,您是否也在应用您的过滤器。
标签: python google-app-engine localization timezone jinja2