我正在使用Django's naturalday template tag,但如果提供的日期不是今天,明天或昨天,我如何格式化日期字符串?
这是我的模板字符串:
Date: {{ result_date|naturalday }}
如果result_date
今天,昨天或明天,则模板显示自然字符串。但如果是10天前,如何控制日期的格式显示为“7月25日”?
文档说:
对于当天或一天内的日期,请返回“今天”, “明天”或“昨天”,视情况而定。否则,请格式化日期 使用传入的格式字符串。
“传入的格式字符串”是什么意思?
答案 0 :(得分:4)
在:
之后传递格式,如date过滤器:
Date: {{ result_date|naturalday:"F d" }}
F
是月份的文字表示,例如July
。d
是一个月中的某一天,带有前导零的2位数字,例如25
。希望有所帮助。
答案 1 :(得分:1)
您应该查看示例:
示例('今天'是2007年2月17日):
- 2007年2月16日成为昨天。
- 2007年2月17日成为今天。
- 2007年2月18日成为明天。
- 如果没有给出参数,则根据给定的参数或DATE_FORMAT设置格式化任何其他日期。
然后关于DATE_FORMAT
:
默认值:'N j,Y'(例如2003年2月4日)
用于在任何部分中显示日期字段的默认格式 系统的。注意,如果USE_L10N设置为True,那么 locale-dictated格式具有更高的优先级并将被应用 代替。请参阅允许的日期格式字符串。
如果没有提供格式字符串参数且Feb. 17, 2007
中未指定DATE_FORMAT
,它将回退到settings.py
。
正常的后退格式字符串在alecxe的答案中提供。