Django/Python - 用文字而不是数字显示月份

Posted

技术标签:

【中文标题】Django/Python - 用文字而不是数字显示月份【英文标题】:Django/Python - showing months in words instead of numbers 【发布时间】:2013-02-28 23:42:27 【问题描述】:

我在用文字而不是数字显示月份时遇到了一点问题。 对,我的博客显示“13-03-2013”​​,但我希望它是“2013 年 3 月 13 日”

以下是我现在所做的事情: 我在模型中添加了日期:

pub_date = models.DateTimeField("Gepubliceerd", auto_now_add=True)

当我在博客模板中调用变量 pub_date 时,它​​以数字显示 (13-03-2013)。

有没有一种简单的方法可以将数字更改为实际月份名称? 我一直在考虑创建一个包含每个月份名称的元组,让它运行检查 pub_date 中的月份数,并据此使用元组中的正确月份。

但出于某种原因,我觉得必须有一个更简单的方法。但到目前为止,我还没有成功找到另一个解决方案。

希望一些很棒的人对此有经验!

提前谢谢!

【问题讨论】:

看到这个docs.python.org/2/library/…和这个docs.djangoproject.com/en/dev/ref/settings/#date-format ***.com/questions/7737146/django-template-date-format的可能重复 格式化日期值。 【参考方案1】:

您应该使用 Django 提供的模板过滤器date。请参阅documentation 了解如何使用它。

如果您想在这个地方使用这种日期格式,只需使用

 pub_date|date:'d-F-Y' 

如果这是您希望随处使用的默认格式,请使用 DATE_FORMATSHORT_DATE_FORMAT 设置。阅读文档了解更多信息。

【讨论】:

谢谢!对于一些人来说,我之前所做的研究失败了。我可以将 pub_date|date:'d-m-Y' 更改为 pub_date|date:'d-M-Y' 。大写的 M 使它显示单词而不是数字!无论如何,谢谢所有的帮助! ^^【参考方案2】:

所以在这篇文章之后进行了更多研究(我应该在提出这个问题之前完成)我得出以下结论:

 pub_date|date:'d-m-Y' 

是我如何称呼日期。在其中,您可以使用 Django 本身提供的日期格式。如果将“m”更改为大写“M”,它将以字母显示月份。但是这里解释了更多的可能性:

Read here all about the Django date format

再次抱歉,这么快就提问了

【讨论】:

以上是关于Django/Python - 用文字而不是数字显示月份的主要内容,如果未能解决你的问题,请参考以下文章

c#实现自然排序效果,按1,2,11而不是1,11,12,区分字母文字和数字

js渐显文字 时间间隔

在winform中,如何将DataGridView中某几列的数值设置成文字,及显示文字,后台传递的是数字。

如何通过传入变量而不是文字来使用多列的 groupBy

如何在给定的某个月份获取上个月的名称(用文字而不是数值)? [复制]

x86汇编学习历程5----更紧凑科学的显示文字和数字