我的 models / db 中有一个strftime('%Y-%m-%d %H:%M:%S')
格式的DateTime字段。在我的HTML模板上,我希望它只是'25 Dec 2000'
格式的日期。
但是,如果我从{{ model.datetime }}
更改为{{ model.datetime|date:'d F Y' }}
,则html模板上的字段将变为空白。
我该如何解决?
答案 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' }}