在HTML模板中将datetime转换为date

时间:2019-04-05 11:25:55

标签: python django date datetime

我的 models / db 中有一个strftime('%Y-%m-%d %H:%M:%S')格式的DateTime字段。在我的HTML模板上,我希望它只是'25 Dec 2000'格式的日期。

但是,如果我从{{ model.datetime }}更改为{{ model.datetime|date:'d F Y' }},则html模板上的字段将变为空白。

我该如何解决?

3 个答案:

答案 0 :(得分:0)

使用dparser

import dateutil.parser as dparser
dt_1 = "2000-12-25 17:30:00"
tempVal = (dparser.parse(dt_1,fuzzy=True).date()).strftime('%d %B %Y')

print("Date: {}".format(tempVal))

输出

Date: 25 December 2000

答案 1 :(得分:0)

在执行 strftime('%Y-%m-%d%H:%M:%S')时,您已经在获取日期时间对象的字符串格式。 而当您执行 {{model.datetime | date:'d FY'}} 时,这里您仅对 string 对象执行了另一项操作,因此其返回空的。

date = datetime.now()
==> datetime.datetime(2019, 4, 5, 11, 40, 17, 869441)

date.strftime('%Y-%m-%d %H:%M:%S')
==> '2019-04-05 11:40:25.941187' 
// This is just a string at this point you cannot further do date operations on it

要执行诸如 {{model.datetime | date:'d FY'}} 之类的日期操作,您应该仅对 Datetime 对象进行操作。

答案 2 :(得分:0)

您可以使用模板过滤器

{{ you_date_field|date:'d M Y' }}