Python DateTime, TimeDelta, Strftime(Format) esimerkkien kanssa
โก รlykรคs yhteenveto
Python datetime kรคsittelee pรคivรคmรครคriรค, kellonaikoja ja vรคlejรค objekteina yhdessรค date-, time- ja timedelta-luokkien kanssa. datetime-moduuli muotoilee tulosteen strftime()-funktiolla, jรคsentรครค merkkijonoja ja laskee tulevat tai menneet hetket timedelta-aritmetiikan avulla.

In Python, pรคivรคmรครคrรค, aika ja pรคivรคmรครคrรค-aika luokat tarjoavat useita funktioita pรคivรคmรครคrien, kellonaikojen ja aikavรคlien kรคsittelyyn. Pรคivรคmรครคrรค ja kellonaika Python ovat objekteja, joten niitรค kรคsitellessรคsi kรคsittelet itse asiassa objekteja etkรค merkkijonoja tai aikaleimoja. Aina kun kรคsittelet pรคivรคmรครคriรค tai kellonaikaa, sinun on tuotava datetime-moduuli.
Pรคivรคmรครคrรคtunnit sisรครคn Python luokitellaan viiteen pรครคluokkaan.
- pรคivรคmรครคrรค โ Kรคsittele vain pรคivรคmรครคrรครค (kuukausi, pรคivรค, vuosi)
- aika โ pรคivรคstรค riippumaton aika (tunti, minuutti, sekunti, mikrosekunti)
- datetime โ ajan ja pรคivรคmรครคrรคn yhdistelmรค (kuukausi, pรคivรค, vuosi, tunti, sekunti, mikrosekunti)
- timedelta โ Aika, jota kรคytetรครคn pรคivรคmรครคrien kรคsittelyyn
- tzinfoโ Vatsalihaksettract-luokka aikavyรถhykkeiden kรคsittelyyn
Date & DateTime -luokan kรคyttรคminen
Vaihe 1) Ennen kuin suoritat pรคivรคmรครคrรคn ja aikamuodon koodin Python, on tรคrkeรครค, ettรค tuot Python pรคivรคmรครคrรค-aikamoduulit alla olevan kuvakaappauksen mukaisesti.
Nรคmรค tuontilausekkeet ovat ennalta mรครคritettyjรค toimintoja Python kirjasto, jonka avulla voit muokata pรคivรคmรครคriรค ja kellonaikoja kirjoittamatta koodia.
Harkitse seuraavia kohtia ennen kuin suoritat Python pรคivรคmรครคrรค-ajan muotokoodi
from datetime import date
Tรคmรค rivi kertoo Python tulkki tuodaksesi pรคivรคmรครคrรคluokan datetime-moduulista sisรครคn PythonEmme kirjoita koodia tรคlle pรคivรคmรครคrรคtoiminnolle, vaan tuomme sen omaan kรคyttรถรถmme.
Tulosta pรคivรคmรครคrรค kรคyttรคmรคllรค date.today()
Funktiolla date.today() on useita ominaisuuksia, jotka liittyvรคt siihen. Voimme tulostaa yksittรคisen pรคivรคn/kuukauden/vuoden ja monia muita asioita.
Katsotaanpa esimerkki
Tรคmรคn pรคivรคn arkipรคivรคn numero
Funktio date.today() antaa sinulle myรถs viikonpรคivรคn numeron. Tรคssรค on viikonpรคivรคtaulukko, joka alkaa numerolla Monday 0 ja sunnuntaina 6.
| Pรคivรค | Viikonpรคivรคn numero |
|---|---|
| Monday | 0 |
| tiistai | 1 |
| Keskiviikko | 2 |
| torstai | 3 |
| Perjantai | 4 |
| Lauantai | 5 |
| Sunnuntai | 6 |
Viikonpรคivรคn numero on hyรถdyllinen taulukoille, joiden indeksi on riippuvainen viikonpรคivรคstรค.
Vaihe 2) Seuraavaksi luomme pรคivรคmรครคrรคobjektin esiintymรคn.
Vaihe 3) Seuraavaksi tulostamme pรคivรคmรครคrรคn ja suoritamme koodin.
Tulos on odotetun mukainen.
Python Nykyinen pรคivรคmรครคrรค ja aika: nyt() tรคnรครคn()
Vaihe 1) Kuten Date Objects, voimme myรถs kรคyttรครค "DATETIME OBJECTS" in Python. Python pรคivรคmรครคrรค ja aika -objektit antavat pรคivรคmรครคrรคn ja kellonajan tuntia, minuuttia, sekuntia ja millisekuntia.
Kun suoritamme koodin datetimelle, se antaa tulosteen nykyisen pรคivรคmรครคrรคn ja ajan kanssa.
Vaihe 2) Voit kutsua aikaluokkaa myรถs kรคyttรคmรคllรค funktiota โDATETIME OBJECTโ. Oletetaan, ettรค haluamme tulostaa vain nykyisen kellonajan ilman pรคivรคmรครคrรครค.
t = datetime.time(datetime.now())
- Olimme tuoneet aikaluokan. Mรครคritรคmme sille nykyisen ajan arvon kรคyttรคmรคllรค datetime.now()
- Annamme muuttujalle t nykyisen ajan arvon.
Ja tรคmรค antaa minulle vain aikaa. Suoritetaan siis tรคmรค ohjelma.
Okei, tรคssรค on pรคivรคmรครคrรค ja kellonaika. Ja seuraavalla rivillรค on vain kellonaika.
Vaihe 3) Kรคytรคmme arkipรคivรคn indeksoijaamme arkipรคivรคn taulukkoluetteloomme selvittรครคksemme, mikรค pรคivรค on tรคnรครคn.
- Arkipรคivรคoperaattorille (wd) annetaan numero vรคliltรค (0-6) riippuen siitรค, mikรค viikonpรคivรค on. Tรคssรค esitimme pรคivien (ma, ti, keโฆsu) listan taulukon.
- Kรคytรค tรคtรค indeksiarvoa saadaksesi selville, mikรค pรคivรค on. Meidรคn tapauksessamme se on #2, ja se edustaa keskiviikkoa, joten tulosteessa se tulostaa "Mikรค on keskiviikko".
Tรคssรค on tรคydellinen koodi nykyisen pรคivรคmรครคrรคn ja ajan saamiseksi kรคyttรคmรคllรค datetime now -toimintoa
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Pรคivรคmรครคrรคn ja kellonajan muotoilu Strftime()
Tรคhรคn mennessรค olemme oppineet kรคyttรคmรครคn datetimea ja datea. esine sisรครคn Python. Etenemme askeleen pidemmรคlle ja opimme kรคyttรคmรครคn muotoilutoimintoa ajan ja pรคivรคmรครคrรคn muotoiluun.
Vaihe 1) Ensin nรคemme yksinkertaisen vaiheen vuoden muotoilussa. Se on parempi ymmรคrtรครค esimerkin avulla.
- Kรคytimme "strftime-funktio" muotoilua varten.
- Tรคmรค toiminto kรคyttรครค erilaisia ohjauskoodi antamaan tulos.
- Jokainen ohjauskoodi muistuttaa eri parametreja, kuten vuotta, kuukautta, viikonpรคivรครค ja pรคivรคmรครคrรครค [(%y/%Y โ vuosi), (%a/%A- arkipรคivรค), (%b/%B- kuukausi), (%d โ kuukauden pรคivรค)] .
- Meidรคn tapauksessamme se on ("%Y") joka muistuttaa vuotta, se tulostaa koko vuoden vuosisadalla (esim. 2018).
Vaihe 2) Jos nyt korvaat ("%Y") pienillรค kirjaimilla, eli ( "%y) ja suoritat koodin, tulos nรคyttรครค vain (18) eikรค (2018). Vuoden vuosisata ei nรคy alla olevan kuvakaappauksen mukaisesti
Vaihe 3) Strf-funktio voi mรครคrittรครค pรคivรคmรครคrรคn, pรคivรคn, kuukauden ja vuoden erikseen. Voit myรถs muotoilla tekstin tyyliรค pienillรค muutoksilla strftime-funktion ohjauskoodissa.
Jos strftime-funktion sisรคllรค korvaat (%a) isolla A:lla, eli (%A), tulostuu muodossa โPerjantaiโ pelkรคn lyhenteen โPeโ sijaan.
Vaihe 4) Strftime-toiminnon avulla voimme myรถs hakea paikallisen jรคrjestelmรคn ajan, pรคivรคmรครคrรคn tai molemmat.
- %C- osoittaa paikallisen pรคivรคmรครคrรคn ja ajan
- %x- osoittaa paikallista pรคivรคmรครคrรครค
- %X- osoittaa paikallista aikaa
Tulosteessa nรคet odotetun tuloksen
Vaihe 5) Strftime-toiminnon avulla voit soittaa kellonajan missรค tahansa muodossa 24 tuntia tai 12 tuntia.
Vain mรครคrittรคmรคllรค ohjauskoodin, kuten %I/H tunnille, % M minuutille, %S sekunnille, voidaan soittaa aika eri muodoille.
12 tuntia aika on ilmoitettu [print now.strftime("%I:%M:%S %p) ]
24 tuntia aika on ilmoitettu [print now.strftime("%H:%M"]
Tรคssรค on tรคydellinen koodi pรคivรคmรครคrรค-ajan muuntamiseksi String-objektiksi.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Mitรค Timedelta sisรคltรครค Python?
Timedelta sisรครคn Python on objekti, joka edustaa kestoa. Sitรค kรคytetรครคn pรครคasiassa kahden pรคivรคmรครคrรคn ja kellonajan vรคlisen keston laskemiseen. Sitรค kรคytetรครคn myรถs objektin hakemiseen jonkin verran delta-pรคivรคmรครคrรครค ja -aikaa kรคyttรคen. Timedelta-objekti tukee matemaattisia operaatioita, kuten yhteenlaskuja, osalaskujatrackertolasku, jakolasku jne.
Kuinka kรคyttรครค Timedelta-objekteja
Kanssa Python timedelta-objekteja, voit arvioida sekรค tulevaisuuden ettรค menneisyyden ajan. Toisin sanoen se on aikavรคli minkรค tahansa erityisen pรคivรคn, pรคivรคmรครคrรคn tai kellonajan ennustamiseen.
Muista, ettรค tรคtรค toimintoa ei ole tarkoitettu kellonajan tai pรคivรคmรครคrรคn tulostamiseen, vaan jotain tulevaisuuden tai menneisyyden LASKEMISTAKatsotaanpa a. Python timedelta esimerkki ymmรคrtรครคksesi sen paremmin.
Vaihe 1) Timedelta-objektien suorittamiseksi sinun on ensin mรครคritettรคvรค tuontikรคsky ja suoritettava sitten koodi
- Kirjoita aikadeltan tuontilausunto
- Kirjoita nyt koodi tulostaaksesi objektin aika-deltasta kuvakaappauksen mukaisesti
- Suorita koodi. Aikadelta edustaa 365 pรคivรครค, 8 tuntia ja 15 minuuttia ja tulostaa saman
Hรคmmentรคvรค? Seuraava askel auttaa -
Vaihe 2) Otetaan tรคmรคn pรคivรคn pรคivรคmรครคrรค ja kellonaika tarkistaaksemme, toimiiko tuontiselvitys hyvin. Kun koodi suoritetaan, se tulostaa tรคmรคn pรคivรคn pรคivรคmรครคrรคn, mikรค tarkoittaa, ettรค tuontilauseemme toimii hyvin
Vaihe 3) Katsotaan kuinka voimme hakea pรคivรคmรครคrรคn vuoden pรครคstรค delta-objektien kautta. Kun suoritamme koodin, se antaa tulosteen odotetusti.
Vaihe 4) Toinen esimerkki siitรค, kuinka aikadeltaa voidaan kรคyttรครค laskemaan tuleva pรคivรคmรครคrรค nykyisestรค pรคivรคmรครคrรคstรค ja kellonajasta
Vaihe 5) Katsotaanpa monimutkaisempaa esimerkkiรค. Haluaisin mรครคrittรครค kuinka monta pรคivรครค on kulunut uudesta vuodesta. Nรคin jatketaan
- Kรคyttรคmรคllรค today= date.today() saamme tรคmรคn pรคivรคn pรคivรคmรครคrรคn
- Tiedรคmme, ettรค uusi vuosi on aina 1. tammikuuta, mutta vuosi voi olla erilainen. Kรคyttรคmรคllรค nyd= date(tรคnรครคn.vuosi,1,1) tallennamme uuden vuoden muuttujaan nyd
- jos nyd < today: vertaa, onko nykyinen pรคivรคmรครคrรค uudempi kuin uusi vuosi. Jos kyllรค, se siirtyy while-silmukkaan
- ((tรคnรครคn-nyd).pรคivรคt) antaa nykyisen pรคivรคmรครคrรคn ja uuden vuoden vรคlisen eron DAYS:ssรค
Tulos osoittaa, ettรค "Uudenvuodenpรคivรค meni jo 11 pรคivรครค sitten."
Tรคssรค on tรคydellinen toimintakoodi
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Python 2-esimerkki
Seuraavat esimerkit nรคyttรคvรคt samat pรคivรคmรครคrรค- ja aikaoperaatiot, jotka on kirjoitettu Python 2, jossa print on lauseke eikรค funktio. Kรคytรค nรคitรค versioita vain, kun yllรคpidรคt perinteistรค versiota. Python 2 koodia.
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)



















