Python DateTime, TimeDelta, Strftime(Format) példákkal

In Python, dátum, idő és dátumidő osztályok számos funkciót biztosít a dátumok, időpontok és időintervallumok kezelésére. Dátum és dátumidő be Python az objektumok, tehát amikor manipulálod őket, akkor valójában objektumokat manipulálsz, nem karakterláncokat vagy időbélyegeket. Amikor módosítja a dátumokat vagy az időt, importálnia kell a dátum és idő függvényt.

A dátum és idő osztályok Python 5 fő osztályba sorolhatók.

  • dátum – Csak dátum manipulálása (hónap, nap, év)
  • idő – a naptól független idő (óra, perc, másodperc, mikroszekundum)
  • datetime – az idő és a dátum kombinációja (hónap, nap, év, óra, másodperc, mikroszekundum)
  • timedelta – A dátumok manipulálására használt időtartam
  • tzinfo – Absztrakt osztály az időzónák kezeléséhez

A Dátum és DateTime osztály használata

1 lépés) Mielőtt futtatná a dátum-idő formátum kódját Python, fontos, hogy importálja a Python dátum és idő modulokat az alábbi képernyőképen látható módon.

Használja a Date & DateTime osztályt

Ezek az importálási utasítások előre meghatározott funkciói a Python könyvtár, amely lehetővé teszi a dátumok és időpontok módosítását anélkül, hogy kódot írna.

A végrehajtás előtt vegye figyelembe a következő pontokat Python dátum és idő formátum kódja

from datetime import date

Ez a sor elmondja a Python tolmács a dátum osztály importálásához a datetime modulból Python. Ennek a dátumfunkciónak nem írjuk meg a kódot, csak importáljuk saját használatra

2 lépés) Ezután létrehozzuk a dátum objektum egy példányát.

Használja a Date & DateTime osztályt

3 lépés) Ezután kinyomtatjuk a dátumot és futtatjuk a kódot.

Használja a Date & DateTime osztályt

A kimenet a vártnak megfelelő.

Dátum nyomtatása a date.today() használatával

date.today függvényhez több tulajdonság is kapcsolódik. Egyedi napot/hónapot/évet és sok mást is tudunk nyomtatni

Lássunk egy példát

Dátum nyomtatása a date.today() használatával

A mai hétköznap száma

A date.today() függvény a hét napjának számát is megadja. Itt van a hétközi táblázat, amely ezzel kezdődik Monday 0-ként, vasárnap pedig 6-ként

Nap Hétnapok száma
Monday 0
Kedd 1
Szerda 2
csütörtök 3
Péntek 4
Szombat 5
vasárnap 6

A Weekday Number olyan tömböknél hasznos, amelyek indexe a hét napjától függ.

Dátum nyomtatása a date.today() használatával

Python Aktuális dátum és idő: most() ma()

Step 1) A dátumobjektumokhoz hasonlóan szintén használhatjuk „DATETIME OBJECTS” in Python. Python A dátum és idő objektumok dátumot adnak meg az idővel együtt óra, perc, másodperc és ezredmásodperc.

Python Aktuális dátum és idő

Amikor végrehajtjuk a datetime kódot, akkor az aktuális dátumot és időt adja meg.

Step 2) A „DATETIME OBJECT” funkcióval időosztályt is hívhat.

Tegyük fel, hogy csak az aktuális időt akarjuk kinyomtatni dátum nélkül.

t = datetime.time(datetime.now())
  • Importáltuk az időosztályt. Az aktuális időértéket a datetime.now() segítségével rendeljük hozzá.
  • Az aktuális idő értékét a t változóhoz rendeljük.

És ez csak az időm lesz. Tehát futtassuk ezt a programot.

Python Aktuális dátum és idő

Oké, akkor láthatja, hogy itt van a dátum és az idő. És akkor a következő sor: már csak az időm van

Step 3) Hétköznapi indexelőnket alkalmazzuk a hétköznapok tömblistájára, hogy megtudjuk, melyik nap van ma

  • A hétköznapok operátora (wd) a (0-6) szám közötti számot rendeli hozzá attól függően, hogy mi az aktuális hétköznap. Itt deklaráltuk a lista tömbjét napokra (hétfő, kedd, szerda…vasárnap).
  • Használja ezt az indexértéket, hogy megtudja, melyik nap van. Esetünkben ez a #2, és a szerdát jelöli, így a kimenetben a következőt írja ki: „Melyik szerda”.

Python Aktuális dátum és idő

Itt található a teljes kód az aktuális dátum és idő lekérdezéséhez a datetime most használatával

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()

A dátum és időkimenet formázása az Strftime() segítségével

Mostanra megtanultuk, hogyan kell használni a dátumot, időt és dátumot tárgy be Python. Egy lépéssel tovább lépünk, és megtanuljuk, hogyan kell formázási funkciót használni az idő és a dátum formázására.

Step 1) Először egy egyszerű lépést fogunk látni az év formázásához. Jobb megérteni egy példával.

Formázza a dátum- és időkimenetet az Strftime() segítségével

  • Mi a "strftime funkció” formázáshoz.
  • Ez a funkció mást használ vezérlő kód kimenetet adni.
  • Mindegyik vezérlőkód különböző paraméterekhez hasonlít, mint például az év, hónap, hét nap és dátum [(%y/%Y – év), (%a/%A- hétköznap), (%b/%B- hónap), (%d – hónap napja)] .
  • A mi esetünkben az ("%Y") amely évszámra hasonlít, a teljes évet a századdal együtt nyomtatja ki (pl. 2018).

Step 2) Ha most lecseréli ("%Y") kisbetűre, azaz ( "%y"), és végrehajtja a kódot, a kimenet csak (18) jelenik meg, és nem (2018). Az év évszázada nem az alábbi képernyőképen látható módon jelenik meg

Formázza a dátum- és időkimenetet az Strftime() segítségével

Step 3) Az Strf függvény külön deklarálhatja a dátumot, napot, hónapot és évet. Az strftime függvény vezérlőkódjának kis változtatásaival is formázhatja a szöveg stílusát.

Formázza a dátum- és időkimenetet az Strftime() segítségével

Az strftime függvényen belül, ha az (%a) betűt nagybetűre cseréli, azaz (%A), a kimenet „Firday”-ként jelenik meg a „Péntek” rövidítés helyett.

Formázza a dátum- és időkimenetet az Strftime() segítségével

Step 4) Az „Strftime” funkció segítségével a helyi rendszeridőt, dátumot vagy mindkettőt is lekérhetjük.

  1. %C- a helyi dátumot és időt jelzi
  2. %x- a helyi dátumot jelöli
  3. %X- a helyi időt jelzi

Formázza a dátum- és időkimenetet az Strftime() segítségével

A kimenetben a várt eredmény látható

Step 5) Az „strftime funkció” lehetővé teszi, hogy bármilyen formátumban lehívja az időt 24 vagy 12 órán keresztül.

Formázza a dátum- és időkimenetet az Strftime() segítségével

Csak a vezérlőkód megadásával, például %I/H órára, % M percre, %S másodpercre, különböző formátumokhoz hívható idő

12 óra idő deklarálva [print now.strftime("%I:%M:%S %p) ]

24 óra idő deklarálva [print now.strftime(“%H:%M”)]

Itt található a teljes kód a datetime String objektummá konvertálásához.

#
#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()

Miben van a Timedelta? Python?

Timedelta be Python egy objektum, amely az időtartamot reprezentálja. Főleg két dátum és időpont közötti időtartam kiszámítására szolgál. Arra is használják, hogy az objektumokat bizonyos delta dátummal és idővel lekérjék. A timedelta objektum támogatja az olyan matematikai műveleteket, mint az összeadás, kivonás, szorzás, osztás stb.

A Timedelta objektumok használata

A Python timedelta objektumok, megbecsülheti az időt a jövőre és a múltra egyaránt. Más szóval, ez egy időintervallum bármely különleges nap, dátum vagy idő előrejelzésére.

Ne feledje, hogy ez a funkció nem az idő vagy a dátum kinyomtatására szolgál, hanem a jövő vagy a múlt KISZÁMÍTÁSÁRA. Lássunk egy Python timedelta példa, hogy jobban megértsük.

Step 1) A Timedelta Objects futtatásához először deklarálnia kell az import utasítást, majd végre kell hajtania a kódot

Timedelta objektumok

  1. Írjon importálási nyilatkozatot a timedelta számára
  2. Most írja be a kódot az objektum idődeltából történő kinyomtatásához, ahogy a képernyőképen látható
  3. Futtassa a kódot. Az idődelta 365 nap, 8 óra és 15 perc időtartamot jelent, és ugyanazt nyomtatja

Zavaró? A következő lépés segít

Step 2) Nézzük meg a mai dátumot és időt, hogy ellenőrizzük, jól működik-e az importálási nyilatkozatunk. Amikor a kód végrehajtódik, kiírja a mai dátumot, ami azt jelenti, hogy az importálási utasításunk jól működik

Timedelta objektumok

Step 3) Meglátjuk, hogyan tudjuk lekérni a dátumot egy év múlva a delta objektumok segítségével. Amikor lefuttatjuk a kódot, a várt kimenetet adja.

Timedelta objektumok

Step 4) Egy másik példa arra, hogy az idő delta hogyan használható a jövőbeli dátum kiszámítására az aktuális dátumból és időből

Timedelta objektumok

Step 5) Nézzünk egy bonyolultabb példát. Szeretném meghatározni, hány nappal múlt el az újév. Így járunk el

  • A Today= date.today() használatával megkapjuk a mai dátumot
  • Tudjuk, hogy az újév mindig január 1-jén van, de az év más is lehet. A nyd= date(ma.év,1,1) használatával az új évet az nyd változóban tároljuk
  • if nyd < ma: összehasonlítja, hogy az aktuális dátum nagyobb-e, mint az új év. Ha igen, akkor belép a while ciklusba
  • ((ma-nyd).days) megadja az aktuális dátum és az új év közötti különbséget DAYS-ben

Timedelta objektumok

A kimenet azt mutatja, hogy „Az újév napja már 11 nappal ezelőtt eltelt”.

Itt van a teljes működő kód

#
# 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 Példa

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)

Összegzésként

A dátumok és időpontok egyszerű és összetett módosításához a datetime modul különböző osztályokat vagy kategóriákat biztosít, mint pl

  • dátum – Csak dátum manipulálása (hónap, nap, év)
  • idő – a naptól független idő (óra, perc, másodperc, mikroszekundum)
  • datetime – az idő és a dátum kombinációja (hónap, nap, év, óra, másodperc, mikroszekundum)
  • timedelta – A dátumok manipulálására használt időtartam
  • tzinfo – Absztrakt osztály az időzónák kezeléséhez

Dátumidő objektumok használata

  • A dátumidő objektumok importálása a kód végrehajtása előtt kötelező
  • A date.today funkció használata egyedi dátum/hónap/év nyomtatásához, valamint a nap indexeléséhez
  • A date.time objektum használata az idő órában, percben, másodpercben és ezredmásodpercben történő megadásához

Formázási időtúllépés az „str f time funkcióval”

  • Az év formátumának megváltoztatásához használja az „str f time function” funkciót
  • Nyomtassa ki külön a napot, a dátumot, a hónapot és az évet,
  • Kihívási idő bármilyen formátumban 12 óra vagy 24 óra

Timedelta objektumok

  • A timedelta objektumokkal megbecsülheti az időt a jövőre és a múltra egyaránt
  • Számolja ki a különleges napra (születésnapra) az aktuális időből hátralévő összes nap számát
  • Számítsa ki a különleges napon (születésnapon) eltelt napok számát az aktuális időponttól számítva