Timedelta ja laskutoimitukset
Laske päivämäärien välisiä eroja
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))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
- date, time ja datetime
- Timedelta ja laskutoimitukset
- Muotoilu ja jäsentäminen
- Aikavyöhykkeet zoneinfolla