50 votos

Obtener el nombre del mes a partir del número

¿Cómo puedo obtener el nombre del mes a partir del número del mes?

Por ejemplo, si tengo 3, quiero devolver marzo

fecha.tm_month()

¿Cómo obtener la cadena marzo?

94voto

JMax Puntos 12956
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B")

Devuelve: Diciembre

Alguna información adicional en el sitio web de la documentación de Python


[EDICIÓN: gran comentario de @GiriB] También puedes usar %b que devolverá la notación corta del nombre del mes.

mydate.strftime("%b")

Para el ejemplo anterior, devolvería Dec.

77voto

Mike Yantis Puntos 771
import datetime

monthinteger = 4

month = datetime.date(1900, monthinteger, 1).strftime('%B')

print (month)

April

73voto

siame Puntos 2475

API de Calendario

De esto puedes ver que calendar.month_name[3] devolvería Marzo, y el índice de matriz de 0 es una cadena vacía, por lo que no hay necesidad de preocuparse por la indexación desde cero tampoco.

55voto

Jay Sheth Puntos 136

Esto no es tan útil si solo necesitas saber el nombre del mes para un número dado (1 - 12), ya que el día actual no importa.

calendar.month_name[i]

o

calendar.month_abbr[i]

son más útiles aquí.

Aquí tienes un ejemplo:

import calendar

for month_idx in range(1, 13):
    print (calendar.month_name[month_idx])
    print (calendar.month_abbr[month_idx])
    print ("")

Salida de ejemplo:

Enero
Ene

Febrero
Feb

Marzo
Mar

...

23voto

ancho Puntos 109
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B") # 'Diciembre'
mydate.strftime("%b") # 'dic'

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X