JavaRush /Курси /Python SELF UA /Основи роботи з датою та часом в Python

Основи роботи з датою та часом в Python

Python SELF UA
Рівень 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 для математичних операцій з часом.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ