📝 Python

Модуль datetime: работа с датами и временем

0
Автор
04e5cc8b-58ac-4bdc-bdee-661bbb
📅
Опубликовано
08.05.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
67
🌱
Уровень
Начальный
🐦 💼 ✈️

datetime — стандартный модуль Python для работы с датами и временем. Входит в стандартную библиотеку, устанавливать не нужно.

Импорт

from datetime import datetime, date, timedelta

Текущая дата и время

from datetime import datetime

now = datetime.now()
print(now)              # 2025-05-07 14:32:15.123456
print(now.year)         # 2025
print(now.month)        # 5
print(now.day)          # 7
print(now.hour)         # 14

Форматирование — strftime()

strftime() превращает объект datetime в строку по шаблону:

from datetime import datetime

now = datetime.now()
print(now.strftime('%d.%m.%Y'))        # 07.05.2025
print(now.strftime('%d.%m'))           # 07.05
print(now.strftime('%H:%M'))           # 14:32
print(now.strftime('%d.%m.%Y %H:%M')) # 07.05.2025 14:32

Коды формата:

Код Значение Пример
%d День 07
%m Месяц 05
%Y Год (4 цифры) 2025
%H Час (24ч) 14
%M Минуты 32

Парсинг строки — strptime()

Обратная операция: строка → datetime:

from datetime import datetime

dt = datetime.strptime('2025-05-07', '%Y-%m-%d')
print(dt.year)   # 2025
print(dt.month)  # 5

Unix timestamp — fromtimestamp()

Unix timestamp — количество секунд с 1 января 1970 года. Многие API возвращают время именно в этом формате (поле dt в OpenWeatherMap, например).

from datetime import datetime

timestamp = 1735689600  # число из API
dt = datetime.fromtimestamp(timestamp)
print(dt)                          # 2025-01-01 00:00:00
print(dt.strftime('%d.%m.%Y'))    # 01.01.2025
print(dt.strftime('%d.%m'))       # 01.01

fromtimestamp() автоматически учитывает часовой пояс твоей системы.

Сравнение дат

from datetime import date

today = date.today()
some_day = date(2025, 1, 1)

print(today > some_day)   # True
diff = today - some_day
print(diff.days)          # количество дней между датами

timedelta — сдвиг дат

from datetime import date, timedelta

today = date.today()
tomorrow = today + timedelta(days=1)
week_later = today + timedelta(days=7)

print(tomorrow)     # завтра
print(week_later)   # через неделю

Практический пример: фильтрация по дате

from datetime import datetime

items = [
    {'dt': 1735689600, 'temp': -3},
    {'dt': 1735776000, 'temp': -1},
    {'dt': 1735862400, 'temp':  2},
]

seen_dates = set()
for item in items:
    dt = datetime.fromtimestamp(item['dt'])
    date_str = dt.strftime('%d.%m')

    if date_str in seen_dates:
        continue
    seen_dates.add(date_str)

    print(f"{date_str}: {item['temp']}°C")

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

Подготовка окружения: Python, pip и VS Code

Прежде чем писать код локально — нужно подготовить три инструмента: Python, pip и VS Code....

📅 04.06.2026 👁️ 16
📝

.env файлы и переменные окружения: секреты вне ко…

Представь что ты написал программу с API-ключом прямо в коде и залил её на GitHub....

📅 08.05.2026 👁️ 75
📝

Виртуальные окружения в Python: зачем и как

Когда начинаешь второй Python-проект и ставишь pip install requests — эта библиотека устанавливается глобально, для...

📅 08.05.2026 👁️ 65

Понравилась статья?

Подпишитесь на наши обновления и получайте новые статьи первыми. Развивайтесь вместе с PyLand!