MC, 2025
Ilustracja do artykułu: Python datetime – Wszystko, co musisz wiedzieć o pracy z czasem w Pythonie

Python datetime – Wszystko, co musisz wiedzieć o pracy z czasem w Pythonie

Wielu programistów Python z pewnością nie raz zmierzyło się z potrzebą pracy z datami i godzinami w swoich projektach. Czy to przy obliczaniu różnicy między datami, czy przy formatowaniu daty na potrzeby raportów – manipulacja datami i czasem to częsty i istotny element wielu aplikacji. W Pythonie mamy do dyspozycji bibliotekę datetime, która pozwala na łatwą obsługę dat, godzin oraz obliczenia związane z czasem. Dziś przyjrzymy się tej bibliotece, jej funkcjom oraz pokażemy, jak w prosty sposób poradzić sobie z problemami związanymi z datami i czasem. Gotowy na podróż w świat dat i godzin? Zaczynajmy!

Czym jest biblioteka Python datetime?

Python oferuje bibliotekę datetime, która pozwala na wygodne zarządzanie datami i godzinami. Jest to jedna z najczęściej używanych bibliotek, zwłaszcza w aplikacjach, które muszą przechowywać, analizować lub wyświetlać dane czasowe. Dzięki tej bibliotece, możemy łatwo pracować z datami, porównywać je, obliczać różnice między nimi, a także formatować je w różnorodne sposoby.

Biblioteka datetime w Pythonie zawiera kilka istotnych klas, w tym datetime, date, time i timedelta. Każda z tych klas pełni określoną funkcję i umożliwia manipulowanie poszczególnymi częściami daty i godziny. Przyjrzymy się im bliżej w dalszej części artykułu.

Podstawowe klasy w datetime

W bibliotece datetime znajdziesz kilka klas, które są kluczowe przy pracy z datami i czasem:

  • datetime – reprezentuje zarówno datę, jak i godzinę (np. 2025-04-01 14:30:00).
  • date – reprezentuje tylko datę (np. 2025-04-01).
  • time – reprezentuje tylko czas (np. 14:30:00).
  • timedelta – reprezentuje różnicę między dwiema datami lub godzinami.

Dzięki tym klasom, Python staje się bardzo wygodnym językiem do pracy z danymi czasowymi, niezależnie od tego, czy potrzebujesz po prostu uzyskać aktualną datę, czy porównać różnice między dwoma datami.

Jak uzyskać bieżącą datę i godzinę?

Aby uzyskać bieżącą datę i godzinę w Pythonie, wystarczy użyć metody now() z klasy datetime. Oto przykład:

from datetime import datetime

# Pobranie bieżącej daty i godziny
current_datetime = datetime.now()
print(current_datetime)

Wynik tego kodu może wyglądać na przykład tak:

2025-04-01 14:30:00.123456

Warto zauważyć, że wynik zawiera także mikrosekundy. Jeśli chcesz uzyskać datę bez mikrosekund, możesz użyć metody replace():

current_datetime = current_datetime.replace(microsecond=0)
print(current_datetime)

Wynik:

2025-04-01 14:30:00

Praca z datami – jak utworzyć obiekt typu date?

Czasem potrzebujemy tylko daty, bez godziny. W takim przypadku możemy skorzystać z klasy date. Używając jej, możemy tworzyć obiekty reprezentujące konkretne daty. Na przykład:

from datetime import date

# Tworzenie obiektu typu date
specific_date = date(2025, 4, 1)
print(specific_date)

Wynik:

2025-04-01

Warto wiedzieć, że można także uzyskać bieżącą datę bez godziny, używając metody today():

current_date = date.today()
print(current_date)

Wynik:

2025-04-01

Jak obliczać różnice między datami – timedelta?

Klasa timedelta jest przydatna do obliczania różnicy między dwiema datami lub godzinami. Może być używana do dodawania lub odejmowania czasu od daty. Oto jak można obliczyć różnicę między dwoma datami:

from datetime import datetime

# Dwie daty
date1 = datetime(2025, 4, 1, 14, 30)
date2 = datetime(2025, 4, 2, 16, 45)

# Obliczanie różnicy między datami
delta = date2 - date1
print(delta)

Wynik:

1 day, 2:15:00

Jak widać, timedelta zwróciła wynik w formie dni, godzin, minut i sekund. Możemy również uzyskać pojedyncze składowe różnicy, na przykład liczbę dni:

print(delta.days)

Wynik:

1

Formatowanie daty i godziny – jak dostosować wyświetlanie?

Często potrzebujemy wyświetlić datę w określonym formacie, np. tylko dzień, miesiąc i rok. Python pozwala na łatwe formatowanie daty za pomocą metody strftime(). Oto przykład:

from datetime import datetime

# Bieżąca data
current_datetime = datetime.now()

# Formatowanie daty
formatted_date = current_datetime.strftime('%d-%m-%Y')
print(formatted_date)

Wynik:

01-04-2025

Metoda strftime() pozwala na używanie różnych specyfikatorów formatu, takich jak:

  • %d – dzień (01, 02, …, 31)
  • %m – miesiąc (01, 02, …, 12)
  • %Y – rok w formacie 4-cyfrowym (2025)
  • %H – godzina (00, 01, …, 23)
  • %M – minuta (00, 01, …, 59)
  • %S – sekunda (00, 01, …, 59)

Dzięki temu możesz dostosować format daty do swoich potrzeb w prosty sposób!

Przykłady zaawansowanego użycia datetime

Oczywiście, biblioteka datetime pozwala na znacznie więcej. Przykładem zaawansowanego użycia jest obliczanie daty, która wystąpi za określoną liczbę dni, miesięcy lub lat. Oto jak można dodać dni do daty:

from datetime import datetime, timedelta

# Bieżąca data
current_date = datetime.now()

# Dodawanie 10 dni
new_date = current_date + timedelta(days=10)
print(new_date)

Wynik:

2025-04-11 14:30:00.123456

Podobnie, możemy odjąć dni, godziny, miesiące lub lata, używając odpowiednich parametrów w klasie timedelta lub modyfikując datę za pomocą metod klasy datetime.

Podsumowanie

Biblioteka datetime w Pythonie to niezwykle potężne narzędzie, które pozwala na wygodne manipulowanie datami i godzinami. Dzięki prostym w użyciu klasom i funkcjom, możesz łatwo uzyskać aktualną datę, obliczyć różnice między datami, a także dostosować format daty do swoich potrzeb. W tym artykule omówiliśmy podstawowe operacje z datetime oraz pokazaliśmy kilka praktycznych przykładów, które z pewnością przydadzą się w Twoich projektach. Niezależnie od tego, czy piszesz aplikację, która musi zarządzać czasem, czy po prostu chcesz obliczyć, ile czasu pozostało do jakiegoś wydarzenia – datetime w Pythonie z pewnością Ci pomoże!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: