Tengo una consulta como la siguiente:(Django) cómo obtener el nombre del mes?
today = datetime.datetime.now()
month = today.month
print month
y salidas:
3
Quiero mostrar el nombre del mes como "Marcha". ¿Que debería hacer?
Tengo una consulta como la siguiente:(Django) cómo obtener el nombre del mes?
today = datetime.datetime.now()
month = today.month
print month
y salidas:
3
Quiero mostrar el nombre del mes como "Marcha". ¿Que debería hacer?
utilice el método de formato de cadena de fecha y hora, p.
>>> today.strftime('%B')
'March'
para obtener más información y una lista completa de los códigos de formato, consulte the python datetime
docs
gracias hombre :) gracias por –
datetime.datetime.strftime(today, '%B') # Outputs 'March'
o
datetime.datetime.strftime(today, '%b') # Outputs 'Mar'
http://docs.python.org/library/datetime.html#strftime-strptime-behavior
Uso strftime:
>>> today = datetime.datetime.now()
>>> today.strftime("%B")
'March'
>>>
El Calendar API es otra opción.
calendar.month_name[3] # would return 'March'
módulo de calendario de Python lo hará por usted, ver calendar.month_name
month = calendar.month_name[3]
Month Name
a Month Number
y viceversa en python
mediante el uso de calendario calendar
Creación de una reverse dictionary
sería una forma razonable de hacerlo:
dict((val,k) for k,v in enumerate(calendar.month_abbr))
Para Inglés solamente, se puede utilizar el método de la cadena de formato de fecha y hora de Python, por ejemplo,
>>> today.strftime('%B')
'March'
También puede utilizar métodos de Django, que devolverá el nombre en el lenguaje corriente activada.
En una plantilla Django:
{{ a_date|date('F') }}
En una función de vista Django:
from django.template.defaultfilters import date
date(a_date, 'F')
puede probar el más tarde en la cáscara Django (python manage.py shell
) para, por ejemplo, Español con:
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'
la respuesta más completa aquí :) – Florian
I resuelto el mismo mediante el registro de una etiqueta de plantilla personalizada que me ayude a aplicarlo en cualquier página de la plantilla que requiere el nombre del mes.
templatetags/etras.py
from django import template
import calendar
register = template.Library()
@register.filter
def month_name(value):
return calendar.month_name[value]
Uso de plantilla:
{% load extras %}
{{ month_figure|month_name }}
Ninguna de las siguientes respuestas son buenos para mí, ya que no toman la configuración regional del pedido en consideración ... – lvella