2013-06-26 166 views
0

template.html显示日期和时间在Django

{{incident.created_date_time}} 

这ahowing的日期和时间为June 26, 2013, 5:42 p.m.,如何展现它June 26 2013 at 5:42 P.M.

如何使用模板过滤器转换日期和时间。

感谢

回答

1

Django的内置模板过滤器会不会真的这样做准确的格式为你,但紧随其后利用这将是

{{ incident.created_date_time|:"F j Y P" }} 

否则,你就必须创建自己的日期过滤器。

@register.filter(name='myDate') 
def myDate(value, arg): 
    #arg is optional and not needed but you could supply your own formatting if you want. 
    dateformatted = value.strftime("%b %d, %Y at %I:%M %p") 
    return dateformatted 

这需要incident.created_date_time是一个datetime对象。

,然后你通过设置DATE_FORMAT或DATETIME_FORMAT您settings.py使用它像

{{ incident.created_date_time|myDate }} 
+0

我应该在视图中还是在templatetage.py – user2086641

+0

中写入此过滤器,并将其存储在其他自定义模板标记或过滤器的相同文件中:https://docs.djangoproject.com/en/dev/howto/ custom-template-tags /#code-layout –

+0

我在templatetages.py中复制了过滤器代码,它给出了这个错误“Invalid filter:'myDate'” – user2086641

2

试试这个:

{{ incident|date:"F d Y P" }} 

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date

编辑: 没有,如果你想拥有的日期,你需要编写自己的日期过滤器。

看看limelights后。

+0

收到此错误“无效的过滤器:‘数据’” – user2086641

+0

Sry基因我的错应该有“日期”不是数据 – Silwest

+0

我尝试的日期和时间,我需要的地方“在”之间的你的代码是可能在这里做 – user2086641