Comment puis-je obtenir le nom du mois à partir du numéro de mois?
Par exemple, si j'ai 3
, je veux renvoyer march
date.tm_month()
Comment obtenir la chaîne march
?
A partir de là, vous pouvez voir que calendar.month_name[3]
renverrait March
, et que l'index de tableau de 0
est la chaîne vide. Vous n'avez donc pas à vous soucier de l'indexation nulle.
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B")
Retours: décembre
Quelques informations supplémentaires sur le site Web de Python Doc
[EDIT: excellent commentaire de @GiriB] Vous pouvez également utiliser %b
qui renvoie la notation courte pour le nom du mois.
mydate.strftime("%b")
Pour l'exemple ci-dessus, il retournerait Dec
.
import datetime
monthinteger = 4
month = datetime.date(1900, monthinteger, 1).strftime('%B')
print month
Avril
Ce n'est pas très utile si vous devez simplement connaître le nom du mois pour un numéro donné (1 à 12), car le jour actuel n'a pas d'importance.
calendar.month_name[i]
ou
calendar.month_abbr[i]
sont plus utiles ici.
Voici un exemple:
import calendar
for month_idx in range(1, 13):
print (calendar.month_name[month_idx])
print (calendar.month_abbr[month_idx])
print ("")
Exemple de sortie:
January
Jan
February
Feb
March
Mar
...
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B") # 'December'
mydate.strftime("%b") # 'dec'
C'est ce que je ferais:
from datetime import *
months = ["Unknown",
"January",
"Febuary",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"]
now = (datetime.now())
year = (now.year)
month = (months[now.month])
print(month)
Il produit:
>>> September
(C'était la date réelle quand j'ai écrit ceci)
J'offrirai ceci au cas où (comme moi) vous ayez une colonne de mois dans une base de données:
df['monthName'] = df['monthNumer'].apply(lambda x: calendar.month_name[x])
Pour la plage arbitraire des numéros de mois
month_integer=range(0,100)
map(lambda x: calendar.month_name[x%12+start],month_integer)
donnera la liste correcte. Ajustez le paramètre start
- à partir du mois de janvier dans la liste des mois.