JavaRush /Курси /Python SELF UA /Використання модуля datetime

Використання модуля datetime

Python SELF UA
Рівень 39 , Лекція 1
Відкрита

1. Отримання поточної дати і часу

Навіщо це потрібно?

Як відомо, час — це гроші. А в програмуванні він — це ще й контроль, планування і автоматизація. Наприклад, якщо ти хочеш запустити задачу у певний час або логувати події, потрібно знати, що годинник тікає, і як із цим взаємодіяти.

Основи datetime

Отже, уявімо, що ми почали працювати з бібліотекою datetime. На відміну від верстки космічного корабля, це напрочуд просто! Давай почнемо з отримання поточної дати і часу:

Python

from datetime import datetime

# Отримання поточної дати і часу
now = datetime.now()
print("Поточна дата і час:", now)

Цей код каже "Гей, datetime, давай дізнаємося, котра зараз година!" І що круто, now() повертає об'єкт datetime, що містить всю інформацію про поточний момент часу. Так, прямо як професор, що знає все й одразу.

Локальний і універсальний (UTC) час

Ах, UTC — універсальний час, що об'єднує всіх нас без зайвих часових поясів. Якщо хочеш знати точний час на Марсі (ну, майже), то тобі підійде UTC. А ось як його отримати:

Python

# Отримання поточного часу у форматі UTC
now_utc = datetime.utcnow()
print("Поточна дата і час у UTC:", now_utc)

Можеш спитати, а в чому різниця? Локальний час врахує твій часовий пояс, тоді як UTC — це час за Гринвічем, не залежний від географічного розташування.

Отримання елементів дати і часу

Іноді нам потрібна не вся дата цілком, а лише її частини. Це як замовляти піцу і брати тільки сир — не завжди логічно, але іноді необхідно:

Python

# Отримання окремих частин дати і часу
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Зараз {hour}:{minute}:{second} {day}.{month}.{year}")

Таким чином, ми можемо індивідуально працювати з елементами дати і часу, наприклад, щоб привітати колегу з днем народження (але тільки якщо він сам нагадає).

Приклади використання поточної дати і часу

Інша справа, коли тобі потрібно запрограмувати події, що відбуваються у різних часах. Наприклад, давай створимо найпростіший скрипт, який вітатиме всіх з п'ятницею (бо хто не любить п'ятницю?).

Python

# Приклад використання поточної дати для щоденного нагадування
if now.weekday() == 4:  # П'ятниця
    print("Ура! Сьогодні п'ятниця, час відпочивати!")
else:
    print("Ще трохи почекай, п'ятниця не скоро.")

Цей код використовує метод weekday(), що повертає число від 0 до 6 (де 0 — це понеділок, а 6 — неділя), щоб перевірити, який сьогодні день тижня і попередити про наближення вихідного вікенду.

2. Робота з об'єктами datetime

Нам потрібно знати не лише поточний момент, але і як переходити від одного моменту до іншого для операцій або порівнянь. Наприклад, як ти обчислюєш, наскільки запізнився на зустріч із колегами?

Python

# Приклад обчислення різниці у часі
from datetime import timedelta

# Створення дати в минулому
past_date = datetime(2023, 1, 1, 10, 0, 0)

# Обчислення різниці між поточним часом і минулим
difference = now - past_date
print(f"З того пам'ятного дня пройшло {difference.days} днів і {difference.seconds // 3600} годин.")

Тут ми створюємо дату в минулому і порівнюємо її з поточною. Скільки днів минуло з Нового року? Тепер ти знаєш!

3. Робота з часовими поясами

Для роботи з часовими поясами у datetime використовується бібліотека pytz, яка дозволяє перетворювати дату і час у потрібний часовий пояс.

Приклад використання pytz

Python

from datetime import datetime
import pytz

# Отримуємо поточну дату і час у UTC
utc_now = datetime.now(pytz.utc)
print("Поточна дата і час (UTC):", utc_now)

# Перетворення в інший часовий пояс (наприклад, US/Pacific)
pacific_now = utc_now.astimezone(pytz.timezone("US/Pacific"))
print("Поточна дата і час (Pacific Time):", pacific_now)

Вивід:


Поточна дата і час (UTC): 2024-11-04 14:53:27.123456+00:00
Поточна дата і час (Pacific Time): 2024-11-04 06:53:27.123456-08:00
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ