Python DateTime, TimeDelta, Strftime(Format) esimerkkien kanssa

In Python, pรคivรคmรครคrรค, aika ja pรคivรคmรครคrรค-aika luokat tarjoaa joukon toimintoja pรคivรคmรครคrien, aikojen ja aikavรคlejen kรคsittelemiseen. Pรคivรคmรครคrรค ja kellonaika sisรครคn Python ovat objekteja, joten kun kรคsittelet niitรค, itse asiassa kรคsittelet objekteja etkรค merkkijonoa tai aikaleimoja. Aina kun muokkaat pรคivรคmรครคriรค tai kellonaikaa, sinun on tuotava datetime-toiminto.

Pรคivรคmรครคrรคtunnit sisรครคn Python on luokiteltu 5 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 - Abstrakti luokka aikavyรถhykkeiden kรคsittelemiseen

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 aikoja kirjoittamatta mitรครคn 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 Python. Emme kirjoita tรคmรคn pรคivรคmรครคrรคtoiminnon koodia, vaan tuomme sen vain kรคyttรถรถn

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 odotusten mukainen.

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

date.today funktioon liittyy useita ominaisuuksia. Voimme tulostaa yksittรคisiรค pรคiviรค/kuukausia/vuosia 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

Date.today()-funktio antaa sinulle myรถs viikonpรคivรคn numeron. Tรคssรค on viikonpรคivรคtaulukko, joka alkaa 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()

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) "DATETIME OBJECT" -toiminnolla voit kutsua myรถs aikaluokkaa.

Oletetaan, ettรค haluamme tulostaa vain nykyisen ajan 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, joten nรคet, ettรค tรคssรค minulla on pรคivรคmรครคrรค ja aika. Ja sitten seuraava rivi, minulla on vain oma aika

Vaihe 3) Kรคytรคmme arkipรคivรคindeksiรคmme viikonpรคivรคn arrayList-luetteloon, jotta tiedรคmme, mikรค pรคivรค on tรคnรครคn

  • Viikonpรคivรคoperaattorille (wd) annetaan numero (0-6) sen mukaan, mikรค viikonpรคivรค on. Tรคssรค ilmoitimme listan joukon pรคiville (ma, ti, keโ€ฆsu).
  • 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 pรคivรคmรครคrรครค ja pรคivรคmรครคrรครค 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-toimintoโ€ muotoilua varten.
  • Tรคmรค toiminto kรคyttรครค erilaisia ohjauskoodi antamaan tulos.
  • Jokainen ohjauskoodi muistuttaa erilaisia โ€‹โ€‹parametreja, kuten vuosi, kuukausi, 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 ilmoittaa pรคivรคmรครคrรคn, pรคivรคn, kuukauden ja vuoden erikseen. Myรถs pienillรค muutoksilla ohjauskoodiin strftime-funktiossa voit muotoilla tekstin tyylin.

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

Strftime-funktion sisรคllรค, jos korvaat (%a) isolla A:lla, eli (%A), tulostetaan "Firday" pelkรคn lyhenteen "Fri" 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 kohteen noutamiseen jollakin delta pรคivรคmรครคrรคllรค ja kellonajalla. Timedelta-objekti tukee matemaattisia operaatioita, kuten yhteen-, vรคhennys-, kerto- ja jakolaskuja 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 LASKEMISTA. Katsotaanpa an 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

Timedelta-objektit

  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

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
  • if nyd < tรคnรครคn: vertaa, onko nykyinen pรคivรคmรครคrรค suurempi 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

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)

Yhteenveto

Pรคivรคmรครคrien ja aikojen manipulointiin sekรค yksinkertaisilla ettรค monimutkaisilla tavoilla datetime-moduuli toimittaa erilaisia โ€‹โ€‹luokkia tai luokkia, kuten

  • 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 - Abstrakti luokka aikavyรถhykkeiden kรคsittelemiseen

Datetime-objektien kรคyttรถ

  • Datetime-objektien tuonti ennen koodin suorittamista on pakollista
  • Date.today-toiminnon kรคyttรคminen yksittรคisen pรคivรคmรครคrรคn/kuukauden/vuoden tulostamiseen sekรค pรคivรคn indeksointiin
  • Date.time-objektin avulla saat ajan tunteina, minuutteina, sekunteina ja millisekunteina

Muotoilu Time-Out "str f time -toiminnolla"

  • Kรคytรค "str f time function" muuttaaksesi vuoden muotoa
  • Tulosta pรคivรค, pรคivรคmรครคrรค, kuukausi ja vuosi erikseen,
  • Soittoaika missรค tahansa muodossa 12 tuntia tai 24 tuntia

Timedelta-objektit

  • Timedelta-objekteilla voit arvioida sekรค tulevaisuuden ettรค menneisyyden aikaa
  • Laske erityispรคivรคn (syntymรคpรคivรค) jรคljellรค olevien pรคivien kokonaismรครคrรค nykyisestรค ajasta
  • Laske erityispรคivรคnรค (syntymรคpรคivรคnรค) kuluneiden pรคivien kokonaismรครคrรค nykyisestรค ajasta

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