Python Kuupäev, kellaaegDelta, Strftime(Format) koos näidetega
Kuupäevatunnid sisse Python on jagatud 5 põhiklassi.
- kuupäev – lihtsalt kuupäevaga manipuleerimine (kuu, päev, aasta)
- aeg – päevast sõltumatu aeg (tund, minut, sekund, mikrosekund)
- datetime – kellaaja ja kuupäeva kombinatsioon (kuu, päev, aasta, tund, sekund, mikrosekund)
- timedelta – ajavahemik, mida kasutatakse kuupäevade muutmiseks
- tzinfo – abstraktne klass ajavööndite käsitlemiseks
Kuupäeva ja kuupäeva ja kellaaja klassi kasutamine
Samm 1) Enne kuupäeva ja kellaaja vormingu koodi käivitamist Python, on oluline importida Python kuupäeva ja kellaaja moodulid, nagu on näidatud alloleval ekraanipildil.
Need impordiavaldused on rakenduses eelnevalt määratletud funktsioonid Python teek, mis võimaldab teil manipuleerida kuupäevade ja kellaaegadega ilma koodi kirjutamata.
Enne toimingu sooritamist kaaluge järgmisi punkte Python kuupäeva ja kellaaja vormingu kood
from datetime import date
See rida ütleb Python tõlk kuupäevaklassi importimiseks datetime moodulist Python. Me ei kirjuta selle kuupäevafunktsiooni koodi, vaid impordime selle enda kasutamiseks
Samm 2) Järgmiseks loome kuupäevaobjekti eksemplari.
Samm 3) Järgmiseks prindime kuupäeva ja käivitame koodi.
Väljund on ootuspärane.
Prindi kuupäev kasutades date.today()
date.today
funktsioonil on sellega seotud mitmeid omadusi. Saame printida üksikuid päevi/kuusid/aastaid ja palju muud
Vaatame näite
Tänane tööpäeva number
Funktsioon date.today() annab teile ka nädalapäeva numbri. Siin on nädalapäevade tabel, mis algab Monday kui 0 ja pühapäeval kui 6
päev | Nädalapäeva number |
---|---|
Monday | 0 |
Teisipäev | 1 |
Kolmapäev | 2 |
Neljapäev | 3 |
Reede | 4 |
Laupäev | 5 |
Pühapäev | 6 |
Nädalapäeva number on kasulik massiivide jaoks, mille indeks sõltub nädalapäevast.
Python Praegune kuupäev ja kellaaeg: nüüd() täna()
Step 1) Nagu kuupäevaobjekte, saame ka kasutada „KUUPÄEVAAJA OBJEKTID” in Python. Python kuupäeva ja kellaaja objektid annavad kuupäeva koos kellaajaga tunnid, minutid, sekundid ja millisekundid.
Kui käivitame kuupäeva-aja koodi, annab see väljundi praeguse kuupäeva ja kellaajaga.
Step 2) Funktsiooniga "DATETIME OBJECT" saate helistada ka ajaklassi.
Oletame, et tahame printida ainult praeguse kellaaja ilma kuupäevata.
t = datetime.time(datetime.now())
- Olime importinud ajaklassi. Me määrame sellele praeguse aja väärtuse, kasutades datetime.now()
- Me omistame muutujale t praeguse aja väärtuse.
Ja see annab mulle lihtsalt aega. Nii et käivitame selle programmi.
Olgu, nii et näete, et siin on kuupäev ja kellaaeg. Ja siis järgmine rida, mul on lihtsalt aeg omaette
Step 3) Rakendame oma nädalapäeva indekseerija oma nädalapäeva massiiviloendile, et teada saada, milline päev täna on
- Nädalapäevade operaatorile (wd) määratakse number vahemikus (0–6) sõltuvalt sellest, milline on praegune nädalapäev. Siin deklareerisime loendi massiivi päevade kaupa (E, T, K...P).
- Kasutage seda indeksi väärtust, et teada saada, mis päev on. Meie puhul on see number 2 ja see tähistab kolmapäeva, nii et väljundis prinditakse välja "Mis on kolmapäev".
Siin on täielik kood praeguse kuupäeva ja kellaaja hankimiseks, kasutades kohe kuupäeva
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()
Kuidas vormindada kuupäeva ja kellaaja väljundit Strftime() abil
Praeguseks oleme õppinud, kuidas kasutada kuupäeva, kellaaega ja kuupäeva objekt sisse Python. Liigume sammu edasi ja õpime kasutama vormindamisfunktsiooni kellaaja ja kuupäeva vormindamiseks.
Step 1) Kõigepealt näeme lihtsat sammu aasta vormindamiseks. Parem on aru saada näite abil.
- Me kasutasime "strftime funktsioon" vormindamiseks.
- See funktsioon kasutab erinevaid kontrollkood väljundit andma.
- Iga juhtkood meenutab erinevaid parameetreid, nagu aasta, kuu, nädalapäev ja kuupäev [(%y/%Y – aasta), (%a/%A- nädalapäev), (%b/%B- kuu), (%d – kuu päev)] .
- Meie puhul on see nii ("%Y") mis meenutab aastat, prindib välja täisaasta koos sajandiga (nt 2018).
Step 2) Kui nüüd asendate ("%Y") väiketähtedega, st ("%y) ja käivitate koodi, kuvatakse väljund ainult (18), mitte (2018). Aasta sajandit ei kuvata nii, nagu on näidatud alloleval ekraanipildil
Step 3) Strf-funktsioon saab eraldi deklareerida kuupäeva, päeva, kuu ja aasta. Ka väikeste muudatustega strftime funktsioonis juhtkoodis saate vormindada teksti stiili.
Funktsiooni strftime sees, kui asendate (%a) suure A-ga, st (%A), trükitakse väljund lihtsalt lühendi "Fri" asemel "Firday".
Step 4) Funktsiooni “Strftime” abil saame hankida ka kohaliku süsteemi kellaaja, kuupäeva või mõlemad.
- %C- näitab kohalikku kuupäeva ja kellaaega
- %x- näitab kohalikku kuupäeva
- %X- näitab kohalikku aega
Väljundis näete oodatud tulemust
Step 5) Funktsioon "strftime" võimaldab teil helistada kellaaega mis tahes vormingus 24 tundi või 12 tundi.
Lihtsalt määrates juhtkoodi nagu % I/H tunniks, % M minutiks, %S sekundiks, saab kõneaega erinevate vormingute jaoks
12 tundi aeg on deklareeritud [print now.strftime(“%I:%M:%S %p) ]
24 tundi aeg on deklareeritud [print now.strftime(“%H:%M”)]
Siin on täielik kood datetime teisendamiseks stringobjektiks.
# #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()
Milles on Timedelta Python?
Timedelta sisse Python on objekt, mis tähistab kestust. Seda kasutatakse peamiselt kahe kuupäeva ja kellaaja vahelise kestuse arvutamiseks. Seda kasutatakse ka teatud delta kuupäeva ja kellaajaga objekti allalaadimiseks. Timedelta objekt toetab matemaatilisi toiminguid, nagu liitmine, lahutamine, korrutamine, jagamine jne.
Kuidas kasutada Timedelta objekte
koos Python timedelta objektid, saate hinnata aega nii tuleviku kui ka mineviku jaoks. Teisisõnu, see on ajavahemik mis tahes erilise päeva, kuupäeva või kellaaja ennustamiseks.
Pidage meeles, et see funktsioon ei ole mõeldud kellaaja või kuupäeva väljatrükkimiseks, vaid millegi tuleviku või mineviku ARVUTAMISEKS. Vaatame an Python timedelta näide, et seda paremini mõista.
Step 1) Timedelta objektide käivitamiseks peate esmalt deklareerima impordilause ja seejärel käivitama koodi
- Kirjutage timedelta impordiavaldus
- Nüüd kirjutage kood objekti printimiseks aja delta järgi, nagu on näidatud ekraanipildil
- Käivitage kood. Timedelta tähistab 365 päeva, 8 tundi ja 15 minutit ning prindib sama
Segane? Järgmine samm aitab -
Step 2) Vaatame tänast kuupäeva ja kellaaega, et kontrollida, kas meie impordiaruanne töötab hästi. Kui kood käivitatakse, prindib see välja tänase kuupäeva, mis tähendab, et meie impordiavaldus töötab hästi
Step 3) Vaatame, kuidas saame aasta pärast deltaobjektide kaudu kuupäeva taastada. Kui me koodi käivitame, annab see ootuspärase väljundi.
Step 4) Veel üks näide sellest, kuidas aja deltat saab kasutada tulevase kuupäeva arvutamiseks praegusest kuupäevast ja kellaajast
Step 5) Vaatame keerukamat näidet. Tahaksin kindlaks teha, mitu päeva on uuest aastast möödas. Siin on, kuidas me jätkame
- Kasutades täna= date.today() saame tänase kuupäeva
- Teame, et uusaasta on alati 1. jaanuar, kuid aasta võib olla erinev. Kasutades nyd= date(täna.aasta,1,1) salvestame uue aasta muutujasse nyd
- if nyd < täna: võrdleb, kas praegune kuupäev on suurem kui uus aasta. Kui jah, siseneb see while-tsüklisse
- ((täna-nyd).days) annab praeguse kuupäeva ja uue aasta erinevuse DAYS-is
Väljund näitab, et "uusaastapäev läks juba 11 päeva tagasi."
Siin on täielik töökood
# # 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 Näide
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)
kokkuvõte
Kuupäevade ja kellaaegade manipuleerimiseks nii lihtsal kui ka keerulisel viisil pakub datetime moodul erinevaid klasse või kategooriaid, nagu
- kuupäev – lihtsalt kuupäevaga manipuleerimine (kuu, päev, aasta)
- aeg – päevast sõltumatu aeg (tund, minut, sekund, mikrosekund)
- datetime – kellaaja ja kuupäeva kombinatsioon (kuu, päev, aasta, tund, sekund, mikrosekund)
- timedelta – ajavahemik, mida kasutatakse kuupäevade muutmiseks
- tzinfo – abstraktne klass ajavööndite käsitlemiseks
Kuupäeva-aja objektide kasutamine
- Datetime-time objektide importimine enne koodi käivitamist on kohustuslik
- Funktsiooni date.today kasutamine nii üksiku kuupäeva/kuu/aasta printimiseks kui ka päeva indekseerimiseks
- Objekti date.time kasutamine aja saamiseks tundides, minutites, sekundites ja millisekundites
Time-Out vormindamine funktsiooniga str f time
- Aasta vormingu muutmiseks kasutage funktsiooni str f time function
- Trüki päev, kuupäev, kuu ja aasta eraldi,
- Helistamisaeg mis tahes vormingus 12 tundi või 24 tundi
Timedelta objektid
- Timedelta objektide abil saate hinnata aega nii tuleviku kui ka mineviku jaoks
- Arvutage eripäevaks (sünnipäevaks) jäänud päevade koguarv praegusest kellaajast
- Arvutage eripäevaks (sünnipäevaks) möödunud päevade koguarv praegusest kellaajast