为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

子衿沉夜 2021-12-29 20:54:55
我的模型/数据库中有一个 DateTime 字段,格式为strftime('%Y-%m-%d %H:%M:%S')。在我的 HTML 模板上,我希望它只是表单中的日期'25 Dec 2000'。但是,如果我从 更改{{ model.datetime }}为{{ model.datetime|date:'d F Y' }},则 html 模板上的字段将变为空白。我该如何解决?
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

您可以使用模板过滤器,例如,

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


查看完整回答
反对 回复 2021-12-29
?
温温酱

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


查看完整回答
反对 回复 2021-12-29
?
江户川乱折腾

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


查看完整回答
反对 回复 2021-12-29
  • 3 回答
  • 0 关注
  • 357 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信