JavaRush /Курсы /Python SELF /Основы работы с датой и временем в Python

Основы работы с датой и временем в Python

Python SELF
39 уровень , 0 лекция
Открыта

Введение в работу с датой и временем

Давайте начнем с небольшого размышления: представьте, если бы компьютеры не могли работать с датой и временем. Ужас! Наши любимые гаджеты стали бы совершенно бесполезными в деле планирования и автоматизации задач. Попробуем разобраться, как Python помогает нам не опаздывать на важные встречи и поддерживать автоматизацию рутинных задач.

Работа с датой и временем является неотъемлемой частью программирования, особенно когда речь идет об автоматизации. Представьте ситуацию: у вас есть отчеты, которые нужно обновлять каждый час или напоминания, которые должны напоминать вам, что пора сделать перерыв (да, а то вы уже 5-ый час сидите за монитором!). Python предлагает множество инструментов для работы с датой и временем, которые мы и рассмотрим в этой лекции.

1. Модули для работы с датой и временем

В Python предусмотрены несколько модулей, которые облегчают работу с датой и временем. Мы сосредоточимся на трех основных модулях: datetime, time и calendar.

  • datetime: наверное, самую основную работу с датой и временем мы будем делать именно с его помощью. Он предоставляет классы для работы с отдельными датами, временем, а также их комбинациями.
  • time: этот модуль предоставляет функции для работы с низкоуровневыми представлениями времени, как правило, взаимодействует с системным временем.
  • calendar: поможет вам работать с календарями (ну, тут все понятно).

Основные функции и классы модуля datetime

Давайте глубже погрузимся в модуль datetime и рассмотрим его ключевые компоненты.

Класс date

Этот класс используется для работы с датами. Он позволяет задавать и изменять годы, месяцы и дни без необходимости привязывать их ко времени.

Python

from datetime import date

# Создаем объект date
my_birthday = date(1990, 12, 25)
print("Дата моего дня рождения:", my_birthday)

Класс time

Этот класс, как понятно из названия, исключительно про время — часы, минуты, секунды. Идеален для тех случаев, когда нужно управлять временем отдельно от даты.

Python

from datetime import time

# Создаем объект time
meeting_time = time(14, 30)  # 14:30
print("Время встречи назначено на:", meeting_time)

Класс datetime

Самый универсальный класс, который комбинирует дату и время в одно целое.

Python

from datetime import datetime

# Текущая дата и время
now = datetime.now()
print("Текущая дата и время:", now)

2. Использование модуля datetime для получения текущей даты и времени

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

Получение текущей даты и времени

Благодаря методам datetime.now() и datetime.today() вы можете легко получить текущую дату и время.

Python

now = datetime.now()
print("Текущая дата и время (now):", now)

today = datetime.today()
print("Текущая дата (today):", today)

Работа с объектами datetime

Объект datetime позволяет вам извлекать компоненты времени, как год, месяц, день и мн.др. Также важно помнить о различиях между локальным и универсальным временем (UTC).

Python

year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Сегодня: {day}/{month}/{year}, и время: {hour}:{minute}:{second}")

Во время реализации приложений учитывайте разницу между локальным и UTC временем, потому что мир огромен, и у всех свои часы!

3. Примеры использования текущей даты и времени в реальных задачах

Допустим, вам нужно брать данные из какого-то источника каждый час. Это легко можно автоматизировать, сравнивая текущее время с предыдущим извлечением. Например:

Python

from datetime import timedelta

last_run = datetime.now() - timedelta(hours=1)
current_time = datetime.now()

# Если последний запуск был более часа назад
if current_time - last_run > timedelta(hours=1):
    print("Время обновить данные!")
    last_run = current_time

Этот код эффективно напоминает нам о необходимости делать что-то только тогда, когда прошло более часа. Заметьте, как удобно использовать timedelta для математических операций с временем.

Комментарии (2)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Анатолий Уровень 49
24 февраля 2026
❤️
Long_byte Уровень 60
18 сентября 2025
почему нет комментариев