2015-07-01 4 views
1

Привет У меня есть тег/фильтр шаблона, который преобразует время unix в datetime. Ниже приведен код, у меня есть:Формат Django datetime с шаблоном фильтра

@register.filter("timestamp") 
def timestamp(value): 
    if value is not None: 
     return datetime.fromtimestamp(float(value)) 
    else: 
     return 'None' 

Но она возвращает дату как June 1, 2015, 3:06 p.m. Как я могу изменить код, так что она возвращает мне 24ч отформатирован время? Пожалуйста помоги. Заранее спасибо.

+0

Вы действительно хотите использовать пользовательский фильтр для этого? Вы можете использовать Django Builtins для отображения результата '1 июня 2015 года, 15'. –

+0

@blackwindow, вы нашли решение? – bakkal

ответ

0

Вы можете изменить settings.DATE_FORMAT, https://docs.djangoproject.com/en/dev/ref/settings/#date-format

Или вы можете сделать свой фильтр вернуть пользовательский отформатированную строку вместо datetime объекта, например, используя datetime.strftime(), https://docs.python.org/2/library/datetime.html#datetime.datetime.strftime

Как я могу изменить код, так что она возвращает мне 24ч отформатированного времени?

%H директива делает формат 24ч,

%H Hour (24-hour clock) as a zero-padded decimal number. 

https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

Смежные вопросы