Получение текущего года и месяца в Python: datetime
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для получения текущего года и месяца в Python следует использовать модуль datetime
:
from datetime import datetime
print(f"Год: {datetime.now().year}, Месяц: {datetime.now().month}")
В выводе получится: "Год: ГГГГ, Месяц: ММ".
Объект Datetime — подробно
Чтобы создать объект datetime
, включающий только текущий год и месяц, следуйте этим шагам:
from datetime import datetime
текущий_год = datetime.now().year
текущий_месяц = datetime.now().month
объект_год_месяц = datetime(текущий_год, текущий_месяц, 1)
print(объект_год_месяц) # Интересный факт: Даты могут рассказать больше, чем слова!
В результате мы получаем объект datetime
, включающий текущий год и месяц, и с первым числом месяца.
Визуализация
Представьте календарь (📅) в виде большой таблицы, где каждая ячейка обозначает день. Попытайтесь представить общую картину:
📅 Январь (В общем плане) 📅: [🎩, ❄️, ...]
📅 ТЕКУЩИЙ МЕСЯЦ (🎯): [📆]
Теперь извлечем текущий год и месяц как спелые плоды:
from datetime import datetime
текущий_год_и_месяц = datetime.now().strftime("%Y-%m") # Урожай собран 🍏!
И на выходе получаем:
**Текущий Год-Месяц**: `2023-04`
Как будто находим **яркую звезду** ✨ в невероятном космосе дат.
Упрощение при помощи модуля date в Python
Если вам нужна только дата, без указания времени, то вы можете воспользоваться модулем date
:
from datetime import date
сегодня = date.today()
print(f"Год: {сегодня.year}, Месяц: {сегодня.month}") # Свежие данные из календаря!
Зная год и месяц, можно проводить точное сравнение дат без лишних строковых преобразований, используя нативные атрибуты datetime
вместо strftime
и strptime
.
Изящное форматирование даты с помощью strftime
Иногда необходим особыми образом отформатировать дату. strftime
— это инструмент, который поможет вам в этом:
отформатированный_месяц = datetime.now().strftime('%B, %Y') # Преобразуем 'апрель 2023' в читаемый формат!
print(f"Красочный текущий месяц: {отформатированный_месяц}")
Если у вас есть строка с датой, и вам требуется получить из неё объект datetime, вы можете использовать strptime
— это ваш путеводитель в мире времени:
from datetime import datetime
строка_с_датой = "2023-04"
объект_даты = datetime.strptime(строка_с_датой, '%Y-%m')
print(объект_даты) # Это магия: превращаем строку в дату!
Важность точности в деталях
Держитесь правильного формата для полного и сокращённого названия компонентов даты. Например, январь записывается как 01
, а не 1
. Это особо важно для систем, где важна высокая точность, поэтому используйте корректные форматы: полные (%m
) или сокращённые (%-m
).
Международный стандарт — ISO 8601
Международные приложения только выигрывают от использования стандарта ISO 8601 для отображения дат и времени. Для вывода текущей даты в этом формате с помощью Python сделайте следующее:
iso_date = datetime.now().isoformat()
print(f"Текущая дата в ISO 8601: {iso_date}") # Теперь ваш язык понятен ISO 8601!
Полезные материалы
- Python 3.12.2 documentation — модуль datetime — незаменимый источник информации о datetime в Python.
- Python strftime cheatsheet — помощник по кодам форматирования для использования с strftime и datetime.
- Stack Overflow: вопросы по Python + Datetime — примеры и вопросы сообщества о работе с datetime в Python.
- Работа с модулем datetime в Python — Real Python — руководство с практическими примерами по datetime в Python.
- Модуль datetime в Python – GeeksforGeeks — понятные объяснения и примеры использования datetime в Python.
- ISO 8601 — Формат даты и времени — подробное описание международного стандарта дат и времени.
- Дата и время в Python – W3Schools — сжатое руководство с примерами для тех, кто хочет изучить работу с датами в Python вдоль и поперек.