在 html 模板中将日期时间转换为日期

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

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

我该如何解决?


子衿沉夜
浏览 358回答 3
3回答

弑天下

您可以使用模板过滤器,例如,{{ you_date_field|date:'d M Y' }}

温温酱

当您执行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对象进行操作。

江户川乱折腾

使用dparser:import dateutil.parser as dparserdt_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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python