0Pricing
Python Academy · Lekcja

Timedelta i działania arytmetyczne

Obliczaj różnice między datami

Timedelta i działania arytmetyczne to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Czym jest timedelta?

Obiekt timedelta reprezentuje czas trwania — odstęp między dwoma punktami w czasie. Jest wynikiem odjęcia jednej daty lub daty i czasu od drugiej.

Należy zaimportować go za pomocą from datetime import timedelta.

from datetime import timedelta
gap = timedelta(days=3)
print(gap)

Tworzenie czasu trwania

Obiekt timedelta należy utworzyć za pomocą argumentów nazwanych, takich jak days, hours, minutes i seconds. Python normalizuje je do postaci dni, sekund i mikrosekund.

from datetime import timedelta
d = timedelta(days=1, hours=6, minutes=30)
print(d)

Odejmowanie dwóch dat

Odjęcie jednego obiektu date od drugiego tworzy obiekt timedelta. W ten sposób można zmierzyć odstęp między dwoma dniami.

from datetime import date
start = date(2026, 1, 1)
end = date(2026, 5, 30)
diff = end - start
print(diff)

Liczba dni między datami

Atrybut .days obiektu timedelta podaje liczbę pełnych dni jako liczbę całkowitą — doskonale nadaje się do odpowiedzi na pytanie „ile dni pozostało do X?”.

from datetime import date
new_year = date(2027, 1, 1)
today = date(2026, 5, 30)
print('Days left:', (new_year - today).days)

Dodawanie czasu do daty

Dodanie obiektu timedelta do obiektu date lub datetime przesuwa moment w przyszłość. Odjęcie go przesuwa moment w przeszłość.

from datetime import date, timedelta
today = date(2026, 5, 30)
in_two_weeks = today + timedelta(days=14)
print('In two weeks:', in_two_weeks)

Cofanie się w czasie

Odjęcie obiektu timedelta przesuwa datę w przeszłość. W tym przypadku znajdujemy datę sprzed tygodnia.

from datetime import date, timedelta
today = date(2026, 5, 30)
last_week = today - timedelta(weeks=1)
print('A week ago:', last_week)

Łączna liczba sekund trwania

Metoda .total_seconds() zwraca cały czas trwania jako pojedynczą liczbę zmiennoprzecinkową wyrażoną w sekundach. Jest przydatna przy precyzyjnych obliczeniach czasu.

from datetime import timedelta
d = timedelta(hours=2, minutes=30)
print('Total seconds:', d.total_seconds())

Arytmetyka obiektów datetime

Te same zasady dotyczą obiektów datetime. Dodanie czasu trwania prawidłowo przesuwa zarówno datę, jak i godzinę, przechodząc na kolejny dzień, gdy jest to konieczne.

from datetime import datetime, timedelta
start = datetime(2026, 5, 30, 23, 0)
later = start + timedelta(hours=3)
print(later)

Mnożenie czasu trwania

Obiekt timedelta można pomnożyć przez liczbę, aby odpowiednio go przeskalować. Dzięki temu łatwo obliczyć na przykład czas trwania pięciu cykli sprintu po dwa tygodnie każdy.

from datetime import timedelta
sprint = timedelta(weeks=2)
five_sprints = sprint * 5
print(five_sprints)

Porównywanie czasu trwania

Czasy trwania można porównywać za pomocą operatorów <, > i ==. Pozwala to sprawdzić, czy jeden odcinek czasu jest dłuższy od drugiego.

from datetime import timedelta
a = timedelta(hours=5)
b = timedelta(days=1)
print(a < b)
print(max(a, b))

Rozdzielanie dni i sekund

Obiekt timedelta przechowuje osobno wartości .days i .seconds. Atrybut .seconds zawiera wyłącznie sekundy pozostałe w ostatnim dniu (od 0 do 86399), a nie ich łączną liczbę.

from datetime import timedelta
d = timedelta(days=2, hours=3)
print('days:', d.days)
print('seconds:', d.seconds)

Szybkie sprawdzenie

Co zwraca odjęcie jednego obiektu date od drugiego?

Podsumowanie: Timedelta i arytmetyka

Najważniejsze informacje:

  • timedelta(days=, hours=, ...) tworzy czas trwania.
  • Odjęcie dwóch dat lub obiektów datetime zwraca obiekt timedelta.
  • Dodanie lub odjęcie obiektu timedelta przesuwa daty do przodu lub do tyłu.
  • Odczytaj wartość .days albo wywołaj .total_seconds(), aby uzyskać wartość liczbową, a czas trwania pomnóż, aby go przeskalować.
from datetime import date, timedelta
today = date(2026, 5, 30)
print('In 100 days:', today + timedelta(days=100))

Często zadawane pytania

Czy lekcja „Timedelta i działania arytmetyczne” jest bezpłatna?

Tak — pełny tekst „Timedelta i działania arytmetyczne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Timedelta i działania arytmetyczne”?

Obliczaj różnice między datami Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Timedelta i działania arytmetyczne”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. date, time, datetime
  2. Timedelta i działania arytmetyczne
  3. Formatowanie i analizowanie
  4. Strefy czasowe z zoneinfo
← Powrót do Python Academy