ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Получение названия месяца из его номера в Python

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы в Python быстро преобразовать число, представляющее номер месяца (от 1 до 12), в название этого месяца, примените функцию calendar.month_name:

Python
Скопировать код
import calendar
print(calendar.month_name[3])  # Результат: "Март"

Для получения сокращенного названия месяца используйте функцию calendar.month_abbr:

Python
Скопировать код
print(calendar.month_abbr[3])  # Результат: "Мар"
Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Применение datetime для получения названия месяца

Модуль datetime позволяет обрабатывать дату более гибко. Для того чтобы получить полное или сокращенное название месяца, примените метод strftime(), в котором %B и %b соответственно возвращают название для данного номера месяца:

Python
Скопировать код
from datetime import datetime
month_number = 3
date_object = datetime(2023, month_number, 1)  # Создаём объект даты
print(date_object.strftime('%B'))  # Результат: "Март"

Обработка некорректного ввода

Необходимо учесть случаи, когда ввод может быть вне допустимого диапазона или не являться числом. Для этого предлагается функция, которая обрабатывает такие исключения:

Python
Скопировать код
def get_month_name(month_number):
    try:
        return calendar.month_name[month_number]
    except (IndexError, TypeError):
        return "Введён некорректный номер месяца. Попробуйте ещё раз, пожалуйста."

Функция получения названия месяца с проверкой ошибок

Можно создать функцию, в которой учтена проверка номера месяца. Это предоставляет возможность его переиспользования:

Python
Скопировать код
def safe_month_name(month_number):
    if 1 <= month_number <= 12:
        return calendar.month_name[month_number]
    else:
        return "Введён некорректный номер месяца. Год насчитывает всего 12 месяцев!"

print(safe_month_name(3))  # Результат: "Март"
print(safe_month_name(0))  # Результат: "Введён некорректный номер месяца..."

Вывод всех названий месяцев

Хотите увидеть все названия месяцев? Достаточно перебрать их с помощью цикла for. Это особенно пригодится при разработке пользовательских интерфейсов:

Python
Скопировать код
for i in range(1, 13):
    print(calendar.month_name[i])  # Просто и красиво

Практическое применение

Возможности, описанные в этом руководстве, позволят вам четко и красиво форматировать даты в самых разнообразных задачах – от отметок времени в веб-приложениях до составления отчётов.

Визуализация

№ месяцаНазвание месяца
1❄️ Январь
2❄️ Февраль
3🌷 Март
4🌷 Апрель
5☀️ Май
6☀️ Июнь
7🍉 Июль
8🍉 Август
9🍁 Сентябрь
10🍁 Октябрь
11🧣 Ноябрь
12🧣 Декабрь

В таблице отображено соответствие каждого номера месяца его уникальному названию.

Преобразование даты-строки в название месяца

Если у вас есть строка, содержащая дату, и требуется получить из неё название месяца, сначала преобразуйте строку в объект datetime:

Python
Скопировать код
date_str = "2023-03-15"
date_object = datetime.strptime(date_str, '%Y-%m-%d')  # Из строки создаём объект даты
print(date_object.strftime('%B'))  # Результат: "Март"

Локализация при форматировании месяца

При работе с международными приложениями крайне важно поддерживать локализацию, чтобы отображать названия месяцев на разных языках. В этом поможет библиотека locale:

Python
Скопировать код
import locale
locale.setlocale(locale.LC_TIME, 'es_ES')  # Переключаемся на испанский язык
print(date_object.strftime('%B'))  # Результат: "marzo"

Учтите, что соответствующие языковые пакеты должны быть установлены в вашей операционной системе.

Полезные материалы

  1. Официальное описание функций strftime и strptime в документации Python.
  2. Обсуждение способов получения названия месяца в Python на Stack Overflow.
  3. Руководство по использованию модуля calendar в Python.
  4. Статья с примерами работы с datetime на сайте Real Python.
  5. Преобразование объектов datetime в строку с использованием функции strftime().
  6. Описание библиотеки python-dateutil, расширяющей возможности модуля datetime.
  7. Руководство с интерактивными примерами по работе с датами и временем в Python на сайте Educative.