我的模型/数据库中有一个 DateTime 字段,格式为strftime('%Y-%m-%d %H:%M:%S')。在我的 HTML 模板上,我希望它只是表单中的日期'25 Dec 2000'。但是,如果我从 更改{{ model.datetime }}为{{ model.datetime|date:'d F Y' }},则 html 模板上的字段将变为空白。我该如何解决?
3 回答
温温酱
TA贡献1752条经验 获得超4个赞
当您执行strftime('%Y-%m-%d %H:%M:%S') 时,您已经获得了日期时间对象的字符串格式。当你在做{{ model.datetime|date:'d FY' }} 时,你只是对字符串对象再做一个操作,这就是它返回空的原因。
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对象进行操作。
江户川乱折腾
TA贡献1851条经验 获得超5个赞
使用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
添加回答
举报
0/150
提交
取消