(Django)如何获得月份名称?

Ere*_*ğlu 17 python django datetime

我有一个如下查询:

today = datetime.datetime.now()
month = today.month
print month
Run Code Online (Sandbox Code Playgroud)

它输出:

3
Run Code Online (Sandbox Code Playgroud)

我想显示月份名称,如"March".我该怎么办?

sec*_*ond 35

使用日期时间字符串格式化方法,例如

>>> today.strftime('%B')
'March'
Run Code Online (Sandbox Code Playgroud)

有关更多信息以及格式代码的完整列表,请参阅python datetime文档


Iva*_*gai 16

仅限英语,您可以使用Python的日期时间字符串格式化方法,例如

>>> today.strftime('%B')
'March'
Run Code Online (Sandbox Code Playgroud)

您还可以使用Django方法,它将返回当前激活语言的名称.

在Django模板中,您还可以使用:

{{ a_date|date:'F' }}
Run Code Online (Sandbox Code Playgroud)

在Django视图函数中:

from django.template.defaultfilters import date
date(a_date, 'F')
Run Code Online (Sandbox Code Playgroud)

您可以在Django shell(python manage.py shell)中测试后者,例如西班牙语:

In [1]: from django.utils.translation import get_language, activate

In [2]: activate('es')

In [3]: get_language()
Out[3]: 'es'

In [4]: import datetime

In [5]: today = datetime.date.today()

In [6]: from django.template.defaultfilters import date

In [7]: date(today, 'F')
Out[7]: u'Septiembre'
Run Code Online (Sandbox Code Playgroud)


Zai*_*han 8

日历API是另一种选择.

calendar.month_name[3] # would return 'March'
Run Code Online (Sandbox Code Playgroud)