Python Academy · Oppitunti

Timedelta ja laskutoimitukset

Laske päivämäärien välisiä eroja

Oppitunti 2/413 vaihetta

Timedelta ja laskutoimitukset on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on timedelta?

timedelta esittää kestoa eli kahden ajanhetken välistä eroa. Se saadaan, kun yksi päivämäärä tai datetime-olio vähennetään toisesta.

Tuokaa se käyttöön komennolla from datetime import timedelta.

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

Keston muodostaminen

Luokaa timedelta-olio nimetyillä argumenteilla, kuten days, hours, minutes ja seconds. Python normalisoi ne päiviksi, sekunneiksi ja mikrosekunneiksi.

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

Kahden päivämäärän vähentäminen

Yhden date-olion vähentäminen toisesta tuottaa timedelta-olion. Näin mitataan kahden päivän välinen etäisyys.

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

Päivien määrä päivämäärien välillä

timedelta-olion .days-attribuutti antaa kokonaisten päivien määrän kokonaislukuna. Sen avulla on helppo vastata kysymykseen ”kuinka monta päivää on päivään X?”.

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

Ajan lisääminen päivämäärään

Lisätkää timedelta date- tai datetime-olioon siirtyäksenne ajassa eteenpäin. Vähentämällä sen siirrytte ajassa taaksepäin.

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

Siirtyminen ajassa taaksepäin

timedelta-arvon vähentäminen siirtää päivämäärää menneisyyteen. Tässä etsitään viikon takaista päivämäärää.

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

Keston kokonaissekunnit

.total_seconds()-metodi palauttaa koko keston yhtenä liukulukuna, jonka yksikkö on sekunti. Se on hyödyllinen tarkassa aikojen laskennassa.

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

Datetime-laskutoimitukset

Samat säännöt koskevat myös datetime-objekteja. Keston lisääminen siirtää sekä päivämäärää että kellonaikaa oikein ja vaihtaa tarvittaessa päivää.

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

Kestojen kertominen

timedelta voidaan kertoa luvulla sen skaalaamiseksi. Näin on helppo laskea esimerkiksi viisi kahden viikon sprinttijaksoa.

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

Kestojen vertaaminen

Kestoja voi verrata toisiinsa käyttämällä operaattoreita <, > ja ==. Näin voidaan tarkistaa, onko yksi ajanjakso toista pidempi.

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

Päivien ja sekuntien erottaminen

timedelta tallentaa .days- ja .seconds-arvot erikseen. .seconds-attribuutti sisältää vain viimeisen päivän sisällä jäljelle jäävät sekunnit (0–86399), ei sekuntien kokonaismäärää.

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

Pikatarkistus

Mitä yhden date-objektin vähentäminen toisesta palauttaa?

Kertaus: Timedelta ja laskutoimitukset

Tärkeimmät asiat:

  • timedelta(days=, hours=, ...) rakentaa keston.
  • Kahden päivämäärän tai datetime-objektin vähentäminen palauttaa timedelta-arvon.
  • Lisäämällä timedelta-arvon päivämääriä voidaan siirtää eteenpäin ja vähentämällä taaksepäin.
  • Lukekaa numeeriset arvot .days-attribuutista tai kutsukaa .total_seconds()-metodia. Kestoja voi myös kertoa niiden skaalaamiseksi.
from datetime import date, timedelta
today = date(2026, 5, 30)
print('In 100 days:', today + timedelta(days=100))
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Timedelta ja laskutoimitukset” ilmainen?

Kyllä – oppitunnin ”Timedelta ja laskutoimitukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Timedelta ja laskutoimitukset”?

Laske päivämäärien välisiä eroja Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Timedelta ja laskutoimitukset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?

Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. date, time ja datetime
  2. Timedelta ja laskutoimitukset
  3. Muotoilu ja jäsentäminen
  4. Aikavyöhykkeet zoneinfolla
← Takaisin: Python Academy