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.

  • ๐Ÿ”˜ Viisi luokkaa: datetime-moduuli ryhmittelee date-, time-, datetime-, timedelta- ja tzinfo-luokat pรคivรคmรครคrรค- ja aikatyรถskentelyรค varten.
  • โ˜‘๏ธ Nykyiset arvot: datetime.now() ja date.today() palauttavat nykyisen pรคivรคmรครคrรคn ja kellonajan, mukaan lukien viikonpรคivรคn numeron.
  • โœ… Muotoilu: strftime()-funktio muuntaa pรคivรคmรครคrรคn ja kellonajan luettavaan muotoon kรคyttรคmรคllรค ohjauskoodeja, kuten %Y, %A ja %H.
  • ๐Ÿงช Aikaero: Aikaero-objekti mittaa kestoa ja ennustaa tulevia tai menneitรค pรคivรคmรครคriรค yhteenlaskun ja alalaskun avulla.tracseen.
  • ๐Ÿ› ๏ธ Direktiivit: Samat ohjauskoodit ohjaavat strftime()-funktiota tulosteen ja strptime()-funktiota merkkijonon lukemiseen takaisin pรคivรคmรครคrรครคn ja kellonaikaan.
  • ๐Ÿค– Tekoรคlyn tyรถnkulut: Koneoppimisputket johtavat aikasarjamalleille pรคivรคmรครคrรค- ja aikaominaisuuksia, kuten viikonpรคivรคn ja kellonajan.

Python Pรคivรคmรครคrรค ja aika

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.

Kรคytรค Date & DateTime -luokkaa

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

Tulosta pรคivรคmรครคrรค kรคyttรคmรคllรค date.today()

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รค.

Tulosta pรคivรคmรครคrรค kรคyttรคmรคllรค date.today()

Vaihe 2) Seuraavaksi luomme pรคivรคmรครคrรคobjektin esiintymรคn.

Kรคytรค Date & DateTime -luokkaa

Vaihe 3) Seuraavaksi tulostamme pรคivรคmรครคrรคn ja suoritamme koodin.

Kรคytรค Date & DateTime -luokkaa

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.

Python Nykyinen pรคivรคmรครคrรค ja kellonaika

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.

Python Nykyinen pรคivรคmรครคrรค ja kellonaika

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".

Python Nykyinen pรคivรคmรครคrรค ja kellonaika

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.

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

  • 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

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

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.

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

Jos strftime-funktion sisรคllรค korvaat (%a) isolla A:lla, eli (%A), tulostuu muodossa โ€Perjantaiโ€ pelkรคn lyhenteen โ€Peโ€ sijaan.

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

Vaihe 4) Strftime-toiminnon avulla voimme myรถs hakea paikallisen jรคrjestelmรคn ajan, pรคivรคmรครคrรคn tai molemmat.

  1. %C- osoittaa paikallisen pรคivรคmรครคrรคn ja ajan
  2. %x- osoittaa paikallista pรคivรคmรครคrรครค
  3. %X- osoittaa paikallista aikaa

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

Tulosteessa nรคet odotetun tuloksen

Vaihe 5) Strftime-toiminnon avulla voit soittaa kellonajan missรค tahansa muodossa 24 tuntia tai 12 tuntia.

Muotoile pรคivรคmรครคrรค- ja aikatulos Strftime()-toiminnolla

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

  1. Kirjoita aikadeltan tuontilausunto
  2. Kirjoita nyt koodi tulostaaksesi objektin aika-deltasta kuvakaappauksen mukaisesti
  3. Suorita koodi. Aikadelta edustaa 365 pรคivรครค, 8 tuntia ja 15 minuuttia ja tulostaa saman

Timedelta-objektit

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

Timedelta-objektit

Vaihe 3) Katsotaan kuinka voimme hakea pรคivรคmรครคrรคn vuoden pรครคstรค delta-objektien kautta. Kun suoritamme koodin, se antaa tulosteen odotetusti.

Timedelta-objektit

Vaihe 4) Toinen esimerkki siitรค, kuinka aikadeltaa voidaan kรคyttรครค laskemaan tuleva pรคivรคmรครคrรค nykyisestรค pรคivรคmรครคrรคstรค ja kellonajasta

Timedelta-objektit

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รค

Timedelta-objektit

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)

UKK

Kรคytรค datetime.strptime(text, format) jรคsentรครคksesi merkkijonon datetime-objektiksi. Kรคytรค samoja direktiivejรค kuin strftime() kรคyttรครค, joten "2018-06-29" lukee "%Y-%m-%d". Strftime()-funktion kรครคnteisesti strptime() muuttaa ihmisen luettavan tekstin takaisin datetime-muotoon, jolla voit laskea.

Pรคivรคmรครคrรค ja kellonaika ilman tzinfo-ominaisuutta on naiivi; aikavyรถhykkeen liittรคminen tekee siitรค tietoisen. Kรคytรค sisรครคnrakennettua zoneinfo-moduulia (Python 3.9+) tai pytz-pakettia pรคivรคysten ja kellonaikojen lokalisointiin ja sitten muuntamiseen vyรถhykkeiden vรคlillรค, jotta laskelmat pysyvรคt oikein eri alueilla.

Kutsu timestamp()-metodia datetimelle saadaksesi Unix-epookin jรคlkeiset sekunnit liukulukuina, esimerkiksi datetime.now().timestamp(). Toiseen suuntaan datetime.fromtimestamp(value) muodostaa datetime-kellonajan uudelleen Unix-aikaleimasta.

Molemmat palauttavat nykyisen paikallisen pรคivรคmรครคrรคn ja kellonajan, mutta datetime.now() hyvรคksyy valinnaisen aikavyรถhykeargumentin, kun taas datetime.today() ei. Aikavyรถhyketietoiselle koodille on parempi kรคyttรครค datetime.now(tz):รครค, jotta tulos sisรคltรครค oikean offsetin eikรค pysy naiivina.

Kyllรค. Pรคivรคmรครคrรค- ja aikamoduuli toimitetaan mukana. Python, joten pip-asennusta ei tarvita. Tuo se komennolla โ€from datetime import datetime, date, time, timedeltaโ€, niin date-, time-, datetime-, timedelta- ja tzinfo-luokat tulevat vรคlittรถmรคsti saataville.

Kutsu isoformat()-metodia saadaksesi standardin mukaisen ISO 8601 -merkkijonon, kuten โ€2018-06-29T08:15:27โ€. Pรคivรคmรครคrรคobjektille se palauttaa merkin โ€VVVV-KK-PPโ€. isoformat() ei tarvitse ohjauskoodeja toisin kuin strftime(), joka rakentaa mukautettuja asetteluja direktiiveistรค.

Koneoppimisputket muuttavat raakat aikaleimat ominaisuuksiksi, kuten viikonpรคivรค, tunti, kuukausi ja kulunut aika, kรคyttรคmรคllรค pรคivรคmรครคrรครค ja aikaeroa. Nรคmรค suunnitellut pรคivรคmรครคrรคominaisuudet auttavat aikasarjamalleja ja tekoรคlyennustejรคrjestelmiรค havaitsemaan kausittaisia โ€‹โ€‹ja syklisiรค malleja.

Kyllรค. GitHub Copilot ja agenttic AI -assistentit luovat strftime()-muotoisia merkkijonoja, aikaerolaskuja ja aikavyรถhykemuunnoksia lyhyestรค kommentista ja osaavat selittรครค kryptisiรค direktiivejรค. Suorita aina ehdotettu koodi, koska pรคivรคmรครคrรคn kรคsittelyssรค ja offseteissa on helppo mennรค pieleen.

Tiivistรค tรคmรค viesti seuraavasti: