日期格式化为:星期一, 3月1日
这看起来应该很简单,但让我感到非常困扰。我查阅了Python的日期格式字符串,但还是不太明白。
我想要实现的是:<完整的星期几>, <月份中的日期><序数词> <月份名称>
其中,<序数词>
是 st
、nd
、rd
、th
等,具体取决于日期。
2 个回答
4
我刚在文档里找到了答案。真不知道为什么在每个提到日期格式的地方都没有链接到这个。
{{e.when|date:"l, jS F"}}
在模板之外:
from django.utils import dateformat
dateformat.format(datetime.now(), 'l, jS F')
5
更新 2: 看来提问者最终觉得这个有用 :)
更新: 别在意了。提问者其实是在找 Django 的日期格式化,而不是 Python 的。
据我所知,没有内置的格式说明符可以用来表示序数(比如“第1”、“第2”)。其他的格式化方式比较简单:
my_date.strftime('%A, %d %B')
我在网上找到过 这个解决方案:
if 4 <= day <= 20 or 24 <= day <= 30:
suffix = "th"
else:
suffix = ["st", "nd", "rd"][day % 10 - 1]