CodeGym /Kurs Javy /Python SELF PL /Podstawy pracy z datą i czasem w Pythonie

Podstawy pracy z datą i czasem w Pythonie

Python SELF PL
Poziom 39 , Lekcja 0
Dostępny

Wprowadzenie do pracy z datą i czasem

Zacznijmy od małej refleksji: wyobraź sobie, co by było, gdyby komputery nie mogły pracować z datą i czasem. Koszmar! Nasze ukochane gadżety stałyby się zupełnie bezużyteczne w kwestii planowania i automatyzacji zadań. Sprawdźmy, jak Python pomaga nam nie spóźniać się na ważne spotkania i wspiera automatyzację rutynowych zadań.

Praca z datą i czasem to nieodłączna część programowania, zwłaszcza gdy mowa o automatyzacji. Wyobraź sobie sytuację: masz raporty, które trzeba aktualizować co godzinę lub przypomnienia, które informują, że czas zrobić przerwę (tak, bo już siedzisz 5 godzin przed monitorem!). Python oferuje wiele narzędzi do pracy z datą i czasem, które omówimy na tym wykładzie.

1. Moduły do pracy z datą i czasem

W Pythonie istnieje kilka modułów, które ułatwiają pracę z datą i czasem. Skupimy się na trzech głównych modułach: datetime, time i calendar.

  • datetime: większość pracy z datą i czasem wykonamy właśnie z jego pomocą. Oferuje klasy do pracy z pojedynczymi datami, czasem, a także ich kombinacjami.
  • time: ten moduł oferuje funkcje do pracy z niskopoziomowymi reprezentacjami czasu, na ogół współpracuje z systemowym czasem.
  • calendar: pomaga w pracy z kalendarzami (tu wszystko jasne).

Główne funkcje i klasy modułu datetime

Zagłębmy się w moduł datetime i sprawdźmy jego kluczowe komponenty.

Klasa date

Ta klasa służy do pracy z datami. Pozwala ustawiać i zmieniać lata, miesiące i dni bez konieczności wiązania ich z czasem.

Python

from datetime import date

# Tworzymy obiekt date
my_birthday = date(1990, 12, 25)
print("Data moich urodzin:", my_birthday)

Klasa time

Ta klasa, jak sugeruje nazwa, dotyczy wyłącznie czasu — godziny, minuty, sekundy. Idealna do przypadków, gdy trzeba zarządzać czasem oddzielnie od daty.

Python

from datetime import time

# Tworzymy obiekt time
meeting_time = time(14, 30)  # 14:30
print("Czas spotkania ustalony na:", meeting_time)

Klasa datetime

Najbardziej uniwersalna klasa, która łączy datę i czas w jedną całość.

Python

from datetime import datetime

# Aktualna data i czas
now = datetime.now()
print("Aktualna data i czas:", now)

2. Użycie modułu datetime do uzyskania obecnej daty i czasu

Uzyskanie obecnej daty i czasu to podstawa planowania i automatyzacji. W datetime znajdziesz kilka wygodnych metod, by to osiągnąć.

Uzyskanie obecnej daty i czasu

Dzięki metodom datetime.now() i datetime.today() możesz łatwo uzyskać obecne daty i czas.

Python

now = datetime.now()
print("Aktualna data i czas (now):", now)

today = datetime.today()
print("Dzisiejsza data (today):", today)

Praca z obiektami datetime

Obiekt datetime pozwala wyodrębniać komponenty czasu, takie jak rok, miesiąc, dzień i wiele innych. Ważne jest też, by pamiętać o różnicach między lokalnym a uniwersalnym czasem (UTC).

Python

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

print(f"Dzisiaj: {day}/{month}/{year}, i godzina: {hour}:{minute}:{second}")

Podczas tworzenia aplikacji pamiętaj o różnicy między lokalnym a czasem UTC, ponieważ świat jest duży, a każdy ma swoje godziny!

3. Przykłady użycia obecnej daty i czasu w realnych zadaniach

Załóżmy, że musisz pobierać dane z jakiegoś źródła co godzinę. Można to łatwo zautomatyzować, porównując obecny czas z poprzednim pobraniem. Na przykład:

Python

from datetime import timedelta

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

# Jeśli ostatnie uruchomienie było ponad godzinę temu
if current_time - last_run > timedelta(hours=1):
    print("Czas zaktualizować dane!")
    last_run = current_time

Ten kod efektywnie przypomina o konieczności działania tylko wtedy, gdy minęła ponad godzina. Zwróć uwagę, jak wygodnie używa się timedelta do operacji matematycznych z czasem.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION