Вступ до роботи з датою та часом
Давай почнемо з невеликого роздуму: уяви, якщо б комп'ютери не могли працювати з датою та часом. Жах! Наші улюблені гаджети стали б абсолютно марними у справі планування та автоматизації задач. Спробуємо розібратися, як Python допомагає нам не запізнюватися на важливі зустрічі і підтримувати автоматизацію рутинних задач.
Робота з датою та часом є невід'ємною частиною програмування, особливо коли мова йде про автоматизацію. Уяви ситуацію: у тебе є звіти, які потрібно оновлювати щогодини, або нагадування, які мають підказувати тобі, що пора зробити перерву (так, а то ти вже 5 годин сидиш за монітором!). Python пропонує безліч інструментів для роботи з датою та часом, які ми і розглянемо у цій лекції.
1. Модулі для роботи з датою та часом
У Python передбачено кілька модулів, що полегшують роботу з датою та часом. Ми зосередимося на трьох основних модулях: datetime, time і calendar.
-
datetime: мабуть, найбільшу роботу з датою та часом ми будемо виконувати саме з його допомогою. Він надає класи для роботи з окремими датами, часом, а також їх комбінаціями. -
time: цей модуль надає функції для роботи з низькорівневими уявленнями часу, зазвичай, взаємодіє з системним часом. -
calendar: допоможе тобі працювати з календарями (ну, тут все зрозуміло).
Основні функції та класи модуля datetime
Давай глибше поринемо у модуль datetime і розглянемо його ключові компоненти.
Клас date
Цей клас використовується для роботи з датами. Він дозволяє задавати і змінювати роки, місяці та дні без необхідності прив'язувати їх до часу.
from datetime import date
# Створюємо об'єкт date
my_birthday = date(1990, 12, 25)
print("Дата мого дня народження:", my_birthday)
Клас time
Цей клас, як зрозуміло з назви, виключно про час — години, хвилини, секунди. Ідеально підходить для тих випадків, коли потрібно керувати часом окремо від дати.
from datetime import time
# Створюємо об'єкт time
meeting_time = time(14, 30) # 14:30
print("Час зустрічі призначено на:", meeting_time)
Клас datetime
Найбільш універсальний клас, що комбінує дату і час в одне ціле.
from datetime import datetime
# Поточна дата і час
now = datetime.now()
print("Поточна дата і час:", now)
2. Використання модуля datetime для отримання поточної дати і часу
Отримання поточної дати і часу — основа для планування і автоматизації. У datetime є кілька зручних методів, щоб це отримати.
Отримання поточної дати і часу
Завдяки методам datetime.now() та datetime.today() ти можеш легко отримати поточну дату і час.
now = datetime.now()
print("Поточна дата і час (now):", now)
today = datetime.today()
print("Поточна дата (today):", today)
Робота з об'єктами datetime
Об'єкт datetime дозволяє тобі витягувати компоненти часу, як рік, місяць, день і багато іншого. Також важливо пам'ятати про відмінності між локальним і універсальним часом (UTC).
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. Приклади використання поточної дати і часу в реальних задачах
Припустимо, потрібно брати дані з якогось джерела щогодини. Це легко можна автоматизувати, порівнюючи поточний час із попереднім отриманням. Наприклад:
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 для математичних операцій з часом.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ