Как я могу получить имя месяца от номера месяца?
Например, если у меня есть 3
, я хочу вернуть march
date.tm_month()
Как получить строку march
?
Как я могу получить имя месяца от номера месяца?
Например, если у меня есть 3
, я хочу вернуть march
date.tm_month()
Как получить строку march
?
Из этого вы можете видеть, что calendar.month_name[3]
возвращает March
, а индекс массива 0
- это пустая строка, поэтому нет необходимости беспокоиться об нулевой индексации.
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B")
Возвращает: декабрь
Дополнительная информация о веб-сайте документа Python
[EDIT: отличный комментарий от @GiriB] Вы также можете использовать %b
, который возвращает короткую ноту для имени месяца.
mydate.strftime("%b")
В приведенном выше примере он вернет Dec
.
import datetime
monthinteger = 4
month = datetime.date(1900, monthinteger, 1).strftime('%B')
print month
апреля
Это не так полезно, если вам нужно просто узнать имя месяца для данного номера (1 - 12), поскольку текущий день не имеет значения.
calendar.month_name[i]
или
calendar.month_abbr[i]
более полезны здесь.
Вот пример:
import calendar
for month_idx in range(1, 13):
print (calendar.month_name[month_idx])
print (calendar.month_abbr[month_idx])
print ("")
Пример вывода:
January
Jan
February
Feb
March
Mar
...
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B") # 'December'
mydate.strftime("%b") # 'dec'
Я предлагаю это в случае (например, я), у вас есть столбец чисел месяца в фрейме данных:
df['monthName'] = df['monthNumer'].apply(lambda x: calendar.month_name[x])
Это то, что я сделал бы:
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)
Он выводит:
>>> September
(Это была настоящая дата, когда я написал это)
Я создал свою собственную функцию преобразования чисел в соответствующий месяц.
def month_name (number):
if number == 1:
return "January"
elif number == 2:
return "February"
elif number == 3:
return "March"
elif number == 4:
return "April"
elif number == 5:
return "May"
elif number == 6:
return "June"
elif number == 7:
return "July"
elif number == 8:
return "August"
elif number == 9:
return "September"
elif number == 10:
return "October"
elif number == 11:
return "November"
elif number == 12:
return "December"
Тогда я могу вызвать функцию. Например:
print (month_name (12))
Выходы:
>>> December