logo

Python korszaktól dátumidőig

A következő oktatóanyagban megértjük az epoch DateTime-re való konvertálását a Python programozási nyelv néhány példa segítségével. Python korszakot fogunk használni az epoch dátumra, illetve időre konvertálásához. A következő témákkal is foglalkozunk:

  1. A DateTime átalakítása korszakidővé
  2. Epocha konvertálása DateTime karakterláncba
  3. Korszak konvertálása DateTime ezredmásodpercekre
  4. Korszak konvertálása DateTime időzónává
  5. Unix epoch konvertálása DateTime-ba
  6. A DateTime átalakítása korszakidővé ezredmásodpercben
  7. Korszak időbélyegének konvertálása DateTime-re
  8. Python epoch DateTime év kívül esik a tartományon

Mielőtt azonban elkezdenénk, röviden értsük meg a Python korszakát.

Mi az epocha idő a Pythonban?

Az epochidő, más néven Unix idő vagy POSIX idő, egy keretrendszer a Unix-korszak óta eltelt másodpercek követésére, ami 1970. január 1-jén 12:00 UTC. Ezt a keretrendszert széles körben használják a keretrendszerek és a dialektusok programozására. , beleértve a Pythont is.

A Pythonban az idővel kapcsolatos idővel dolgozhatunk az időmodul használatával, amely lehetőséget ad az időhöz kapcsolódó értékek szabályozására. A koridő kezelésének egyik alapvető képessége a time.time(), amely az életkor óta eltelt időt másodpercekben adja vissza sodródó pontszámként.

Korszakidő konvertálása DateTime-be Python használatával

Használhatjuk a Python-t datetime.fromtimestamp() függvényt, hogy az epochaidőt DateTime-vé alakítsa. Tekintsük a következő példát, amely bemutatja a Python-korszak DateTime-re való átalakítását.

Példa:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 40246871 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time ) 

Kimenet:

mi az a kaptár
 Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11 

Magyarázat:

A fenti példában a dátum és idő modul importálása történik, figyelembe véve a dátum és idő értékek szabályozását. Az epoch_time változó ezután kiadja a 40246871 értéket, ezzel a Unix-korszak (1970. január 1., 00:00:00 UTC) óta elcsúszott másodpercekkel foglalkozik.

A tartalom alapvető hasznossága a datetime.fromtimestamp() képesség használatában rejlik. Ez a képesség némi befektetést igényel (epoch_time), és egy datetime objektum létrehozásával érthetőbb konfigurációvá változtatja. Az ezt követő datetime objektum, amely ugyanazt a dátumot és időpontot címezi, a dátum_idő változóba kerül.

A változás érzékelhetősége érdekében a tartalom két print() kiáltványt tartalmaz. Az első, print('Given age time:', epoch_time) az első koridő-becslést mutatja, míg a következő, print('Converted Datetime:', date_time) a megváltozott dátumidő értéket adja.

A DateTime átalakítása korszakidővé Python használatával

A DateTime korszakidővé konvertálásához a időbélyeg() funkció. Először nézzük meg a következő példát, amely szemlélteti a DateTime konverzióját korszakidővé.

Példa:

 # Here, we are importing the datetime package import datetime # Here, we are using the timestamp() function to convert datetime into epoch time epoch_time = datetime.datetime(2021, 6, 9, 2, 0).timestamp() # Here, we are printing the values print('Converted epoch time:', epoch_time) 

Kimenet:

 Converted epoch time: 1623184200.0 

Magyarázat:

A fenti példában a dátum-idő modul importálva van a dátummal és idővel kapcsolatos tevékenységek kezelésére. A tartalom egy adott dátum és idő változását mutatja be a timestamp() funkció használatával.

Az interakció egy datetime objektum létrehozásával kezdődik, amelynek címe 2021. június 9., 2:00 óra. Ezt a datetime objektumot ezután a timestamp() képességgel szembeni versengésként adják át, amely ugyanazt a koridőt adja vissza (a Unix-korszak, 1970. január 1., 00:00:00 UTC óta eltelt másodpercek száma). A következő életkor időpontja az epoch_time változóba kerül.

A tartalom egy print() kiáltványsal zárul: print('Konvertált koridő:', epoch_time), amely megadja a meghatározott koridőt az előre meghatározott dátumidőhöz. Az epochaidő konvertálása DateTime karakterláncra Python használatával Az epochaidő dátum-idő karakterláncsá konvertálásához az epochaidőt dátumidővé kell konvertálnunk, majd az eredményül kapott datetime változót át kell adni az strftime() függvénynek, hogy sikeresen konvertálhassa datetime karakterláncsá.

Példa:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 700024 # Here, we are using datetime.fromtimestamp() function to convert epoch time into datetime object mytimestamp = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using strftime() function to convert datetime_str = mytimestamp.strftime( '%Y - %m - %d %H : %M : %S') # Here, we are printing the values print('Given epoch time:', epoch_time) print('Converted datetime string:', datetime_str) 

Kimenet:

 Given epoch time: 700024 Converted datetime string: 1970 - 01 - 09 07 : 57 : 04 

Magyarázat:

A fenti példában ismét importáltuk a dátum idő könyvtár. Ezután használtuk a datetime.fromtimestamp() függvényt, hogy egy adott korszakot dátumidővé alakítson át, majd átadja a strftime() függvény a datetime objektumot datetime karakterláncsá alakítja. A strftime() A függvényparaméterek azok a formátumkódok, amelyekben testre akartuk szabni a karakterláncot.

    %ÉSévet jelöli ki%ma hónapot jelöli ki%dkijelöli a napot%Hórát jelöl ki%Mpercet jelöli ki%Smásodperceket jelöl ki

Az epochaidő konvertálása DateTime ezredmásodpercekre Python használatával

A DateTime-t és az ezredmásodperceket az epochaidőből kaphatjuk meg azzal a módszerrel, amelyet az epochaidő DateTime-vé való konvertálásakor tettünk. Tekintsük a következő példát, amely ugyanezt mutatja be.

Példa:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 402471.238201 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time ) 

Kimenet:

 Given epoch time: 402471.238201 Converted Datetime: 1970-01-05 21:17:51.238201 

Magyarázat:

A fenti példában a dátum-idő modul importálásra került a dátummal és idővel kapcsolatos tevékenységek kezeléséhez. A tartalom alapvető szerepe, hogy egy adott koridő alatt, 402471,238201 másodpercben, érthető konfigurációvá változzon, amely egy datetime objektumot és egy szervezett karakterláncot is használ.

A tartalom visszatér, hogy kihasználja a datetime.fromtimestamp() képességet, hogy az idő előrehaladtával datetime objektummá változzon. Az ezt követő datetime objektum, amelyet a date_time változóban helyezünk el, példázza a dátum és az idő összehasonlításának finomságait. Végül a tartalom kinyomtatja az első életkor időpontját és a megváltozott dátumidő objektumot is.

Ezek a print() kiáltványok a nyers koridőt és a szervezett dátumidő objektumot egyaránt megjelenítő hozamot adnak, ésszerű ábrázolást adva az első időbélyegről és annak emberhez alkalmazkodóról.

Korszakidő konvertálása DateTime időzónává Python használatával

Használhatjuk a időzóna() funkciója pytz csomagot, hogy az epochaidőt DateTime időzónává alakítsa. Tekintsük a következő példát, amely bemutatja ugyanennek az átalakítását.

Példa:

 # Here, we are importing the required package(s) and module(s) from datetime import datetime import pytz # Here, we are using the timezone() function my_timezone = pytz.timezone('CST6CDT') # Here, we are using the localize() function date_timezone = my_timezone.localize( datetime( 2021, 6, 10, 9, 34, 32 ), is_dst = None ) # Here, we are printing the values print( 'DateTime Time zone:', date_timezone ) 

Kimenet:

 DateTime Time zone: 2021-06-10 09:34:32-05:00 

Magyarázat:

A fenti példában a datetime modult a pytz modul mellett használjuk egy adott időtartományban lévő dátum- és időobjektumokkal való munkavégzéshez. A tartalom alapvető célja, hogy egy datetime objektumot készítsen, és annak pontját az időzónában kifejezetten 'CST6CDT'-re (Focal Standard Time with Sunlight Saving Time) írja le, majd ezen a ponton kinyomtassa a következő dátumot és időt.

Ily módon a pytz modul timezone() képességét arra használják fel, hogy egy időrégió objektumot hozzon létre a 'CST6CDT' címmel. Ezután az időrégió objektum restrikciós() képessége egy adott datetime objektum időzónájában való pontjának meghatározására szolgál (2021. június 10., 9:34:32).

Az is_dst=Nincs határ azt mutatja, hogy a fénytakarékossági idő (DST) adatai nincsenek egyértelműen megadva, lehetővé téve a limit() képességnek, hogy eldöntse a megfelelő DST állapotot az előre meghatározott idő figyelembevételével. Végül a tartalom kinyomtatja a következő datetime objektumot a kifejezetten beállított időrégióval.

Unix epocha idő konvertálása DateTime-vé Python használatával

A Unix epoch idő DateTime-re való konvertálása hasonló ahhoz, amit korábban tettünk. Ez a folyamat magában foglalja a datetime.fromtimestamp() függvényt a Unix epoch time DateTime objektummá konvertálásához, és használja a strftime() függvényt, hogy az objektumot a megfelelő DateTime formátumba alakítsa át.

Tekintsük a következő példát, amely ugyanezt mutatja be.

Példa:

 # Here, we are importing the datetime library import datetime # Here, we have defined a constant value for the epoch time epoch_time = 252384207 # Here, we are using the datetime.fromtimestamp() function datetime_obj = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using the strftime() function datetime_str = datetime_obj.strftime( '%Y - %m - %d %H : %M : %S' ) # Here, we are printing the values print( 'Unix epoch time:', epoch_time ) print( 'DateTime:', datetime_str ) 

Kimenet:

 Unix epoch time: 252384207 DateTime: 1977 - 12 - 31 08 : 13 : 27 

Magyarázat:

A fenti példában a datetime modult arra használjuk, hogy egy adott koridő alatt, 252384207 másodpercként jelölve, érthetőbb szervezetté változzon. Az alapvető cél az, hogy egy dátumidő objektumot készítsünk az életkorból, majd ezt követően megtervezzük egy karakterláncként a műsorhoz. A tartalom a dátum és idő modul bevezetésével kezdődik. A datetime.fromtimestamp() képesség ezután az életkor előrehaladtával datetime objektummá változik.

apurva padgaonkar

Az ezt követő datetime objektum, amelyet a datetime_obj változóban helyez el, a kapcsolódó dátum és idő finomságait jellemzi. Ezután az strftime() képességet arra használják, hogy a datetime objektumot karakterláncként tervezzék meg egy adott szervezetnél. Ebben a helyzetben a jelzett konfiguráció: '%Y - %m - %d %H : %M : %S', amely az évet, hónapot, napot, órát, pillanatot és másodpercet tartalmazza.

Végre a tartalom kinyomtatja az első Unix koridőt és az elrendezett dátum-idő karakterláncot is. Ezek a print() kiáltványok hozamot hoznak létre, amely mind a nyers koridőt, mind a szervezett dátum-idő karakterláncot mutatja, összetéveszthetetlen ábrázolást adva az első időbélyegről és az emberhez alkalmazkodó azonosságról.

A DateTime átalakítása korszakidővé ezredmásodpercekben Python használatával

Az epocha DateTime ezredmásodpercekbe való konvertálásához használhatjuk a strptime() függvény visszaadja a datetime objektumot a megadott karakterláncból, és használja a időbélyeg() függvény az objektumot másodpercekké alakítani. Sőt, az eredményül kapott értéket meg kell szoroznunk ezressel, hogy ezredmásodpercben megkapjuk a DateTime korszakot.

Nézzünk egy példát, amely ugyanezt bizonyítja.

Példa:

 # Here, we are importing the datetime module from datetime import datetime # Here, we are using the strptime() function dt_obj = datetime.strptime( '10-6-2021 10:33:35,72', '%d-%m-%Y %H:%M:%S,%f') epoch_msec = dt_obj.timestamp() * 1000 print('epoch time in milliseconds:', epoch_msec) 

Kimenet:

 epoch time in milliseconds: 1623301415720.0 

Magyarázat:

A fenti példában a datetime modult arra használjuk, hogy egy meghatározott dátumot és időt megszólító tervezett karakterláncot egy ezredmásodpercben becsült életkor-időbecsre váltson át. A ciklus az strptime() képesség kihasználásával kezdődik, amely elemzi a '10-6-2021 10:33:35,72' információs sztringet a megadott terv fényében: '%d-%m-%Y %H: %M:%S,%f'. Ez a konfiguráció az információs karakterlánc nap, hónap, év, óra, pillanat, másodperc és mikroszekundum részét jelzi.

A következő datetime objektum, amely a dt_obj változóban van elhelyezve, megtestesíti az elemzett dátum- és időadatokat. Ily módon a tartalom megállapítja a koridőt a timestamp() stratégia felhasználásával a datetime objektumhoz, amely a Unix-korszak (1970. január 1., 00:00:00 UTC) óta eltelt másodpercek számát veszi figyelembe. Ezt az értéket 1000 hívővel ezredmásodpercekre növelve, így részletesebben ábrázolva az időt.

Végül a tartalom a print() artikuláció segítségével ezredmásodpercben kiírja a meghatározott koridőt.

Korszak időbélyegének konvertálása DateTime-vé Python használatával

Használhatjuk a datetime.fromtimestamp() függvény az epocha időbélyegének DateTime-vé való konvertálásához. Íme egy példa az alábbiakban:

Példa:

 # Here, we are importing the datetime module import datetime # Here, we have defined a constant value for epoch timestamp epoch_time = 33456871 # Here, we are using the datetime.fromtimestamp() function the_datetime = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the values print( 'epoch timestamp:', epoch_time ) print( 'DateTime:', the_datetime ) 

Kimenet:

 epoch timestamp: 33456871 DateTime: 1971-01-23 11:04:31 

Magyarázat:

A fenti példában a datetime modult arra használjuk, hogy egy adott életkor időbélyegzőjét (33456871 másodperc) egy ésszerűbb és érthetőbb konfigurációvá változtassa. A tartalom a dátum-idő modul bevezetésével kezdődik, amely lehetővé teszi a dátumok és időpontok kezelésének különböző funkcióit.

Az életkor időbélyegzője, amely a Unix-korszak (1970. január 1., 00:00:00 UTC) óta kibontakozott másodpercek számát jelenti, a tartalomban lévő epoch_time változóhoz van hozzárendelve. Így a datetime.fromtimestamp() képesség arra szolgál, hogy ezen a kor időbélyegén át a_datetime nevű datetime objektummá változzon.

A tartalom úgy zárul, hogy kinyomtatja az első életkor-időbélyegzőt és a szervezett dátum-idő objektumot is a print() artikuláció segítségével.

Az epoch datetime-vel kapcsolatos hibák megértése Pythonban

Amikor a Python programozási nyelven az epoch datetime beállítással dolgozunk, előfordulhat, hogy hibát észlelünk, amely szerint a Python epoch datetime év tartományon kívül esik, vagy a Python argumentum érvénytelen.

Nézzünk egy példát a probléma megértéséhez.

Példa:

 # Here, we are importing the datetime module import datetime # Here, we are using the timestamp() function epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() # Here, we are printing the values print( epoch_time ) 

Kimenet:

 Traceback (most recent call last): File 'D:Pythonepochpython.py', line 5, in epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() OSError: [Errno 22] Invalid argument 

Magyarázat:

javascript meghívó függvény a html-ből

A fenti példában a datetime modult arra használjuk, hogy a timestamp() képesség felhasználásával egy adott dátumidőt átváltson, ebben a helyzetben, '1960-06-10 00:00:00', koridőre. A tartalom a dátum és idő modul bevezetésével kezdődik, amely hozzáférést biztosít a dátum és idő feladatokhoz kapcsolódó funkciókhoz.

A tartalom fő hasznossága a timestamp() képesség használatában rejlik, amelyet egy 1960. június 10-én, 12:00-kor címzett datetime objektumra alkalmaznak. Ez a képesség kidolgozza és visszaadja az életkor idejét, a Unix-korszak (1970. január 1., 00:00:00 UTC) óta eltelt másodpercek számát az előre meghatározott dátumig.

Az eredményt ezután a print() kiáltvány felhasználásával kinyomtatja, és egy olyan eredményt hoz létre, amely '- 306691200.0'-nak tűnhet.