V naslednji vadnici bomo razumeli pretvorbo epohe v DateTime v Programski jezik Python z nekaj primeri. Epoho Python bomo uporabili za pretvorbo epohe v datum oziroma čas. Obravnavali bomo tudi naslednje teme:
- Pretvarjanje DateTime v čas epohe
- Pretvarjanje epohe v niz DateTime
- Pretvarjanje epohe v milisekunde DateTime
- Pretvorba epohe v časovni pas DateTime
- Pretvorba epohe Unix v DateTime
- Pretvarjanje DateTime v čas epohe v milisekundah
- Pretvarjanje časovnega žiga epohe v datum in čas
- Python epoch DateTime leto je izven obsega
Toda preden začnemo, na kratko razumejmo epohalni čas v Pythonu.
Kaj je epoha čas v Pythonu?
Čas epohe, imenovan tudi čas Unix ali čas POSIX, je ogrodje za sledenje času kot različnim sekundam, ki so pretekle od dobe Unixa, kar je 12. ure UTC 1. januarja 1970. To ogrodje se široko uporablja pri oblikovanju ogrodij in programskih dialektov , vključno s Pythonom.
V Pythonu lahko delamo s časom starosti z uporabo časovnega modula, ki daje zmožnosti nadzora vrednosti, povezanih s časom. Ena od bistvenih zmožnosti za upravljanje časa starosti je time.time(), ki vrne trenutni čas v sekundah od starosti kot število drseče točke.
Pretvarjanje časa epohe v DateTime z uporabo Pythona
Lahko uporabljamo Python datetime.fromtimestamp() funkcijo za pretvorbo časa epohe v DateTime. Oglejmo si naslednji primer, ki prikazuje pretvorbo epohe Python v DateTime.
primer:
# 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 )
Izhod:
Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11
Pojasnilo:
V zgornjem primeru je modul datuma in časa uvožen ob upoštevanju nadzora vrednosti datuma in časa. Spremenljivka epoch_time je nato razdeljena na določeno vrednost 40246871, pri čemer obravnava sekunde, ki so zdrsnile od dobe Unixa (1. januar 1970, 00:00:00 UTC).
Bistvena uporabnost vsebine je v uporabi zmožnosti datetime.fromtimestamp(). Ta zmožnost zahteva nekaj naložbe (epoch_time) in jo spremeni v bolj razumljivo konfiguracijo z izdelavo objekta datetime. Naslednji objekt datetime, ki naslavlja isti datum in uro, se shrani v spremenljivko date_time.
Da bi omogočili zaznavnost spremembe, vsebina vključuje dve objavi print(). Prvi, print('Given age time:', epoch_time), prikazuje prvo vrednost starostnega časa, medtem ko naslednji, print('Converted Datetime:', date_time), vrne spremenjeno vrednost glede na datetime.
Pretvarjanje DateTime v čas epohe z uporabo Pythona
Za pretvorbo DateTime v čas epohe bomo uporabili časovni žig() funkcijo. Najprej si oglejmo naslednji primer, ki ponazarja pretvorbo DateTime v čas epohe.
primer:
npr. uporabniško ime
# 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)
Izhod:
Converted epoch time: 1623184200.0
Pojasnilo:
V zgornjem primeru je modul datuma in časa uvožen za obravnavo dejavnosti, povezanih z datumom in uro. Vsebina prikazuje spremembo določenega datuma in časa v starostni čas z uporabo zmožnosti timestamp().
Interakcija se začne z ustvarjanjem objekta datetime, ki naslovi 9. junij 2021 ob 2:00 zjutraj. Ta predmet datuma in časa se nato posreduje kot konkurenca zmožnosti timestamp(), ki vrne isto starostno uro (količina sekund, ki so pretekle od obdobja Unixa, 1. januarja 1970, 00:00:00 UTC). Naslednji starostni čas se shrani v spremenljivko epoch_time.
Vsebina se konča z razglasom print(): print('Pretvorjeni čas starosti:', epoch_time), ki vrne določen čas starosti za vnaprej določen datum in čas. Pretvarjanje časa epohe v niz DateTime z uporabo Pythona. Da pretvorimo čas epohe v niz datuma in časa, moramo pretvoriti čas epohe v datum in čas ter nato posredovati nastalo spremenljivko datuma in časa funkciji strftime(), da jo uspešno pretvorimo v niz datuma in časa.
primer:
# 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)
Izhod:
cast sql
Given epoch time: 700024 Converted datetime string: 1970 - 01 - 09 07 : 57 : 04
Pojasnilo:
V zgornjem primeru smo ponovno uvozili Datum čas knjižnica. Nato smo uporabili datetime.fromtimestamp() funkcijo za pretvorbo danega časa epohe v datum in čas in ga nato posredujete funkciji strftime() funkcijo za pretvorbo predmeta datum in čas v niz datuma in časa. The strftime() funkcijski parametri so kode oblike, v kateri smo želeli prilagoditi niz.
Pretvarjanje časa epohe v milisekunde DateTime z uporabo Pythona
DateTime lahko dobimo skupaj z milisekundami iz časa epohe z uporabo metode, ki smo jo uporabili za pretvorbo časa epohe v DateTime. Oglejmo si naslednji primer, ki dokazuje isto.
primer:
# 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 )
Izhod:
Given epoch time: 402471.238201 Converted Datetime: 1970-01-05 21:17:51.238201
Pojasnilo:
V zgornjem primeru je modul datuma in časa uvožen za delo z obravnavo dejavnosti, povezanih z datumom in uro. Osnovna vloga vsebine je, da se v danem starostnem času, določenem kot 402471,238201 sekunde, spremeni v razumljivo konfiguracijo, ki uporablja objekt datuma in časa ter organiziran niz.
Vsebina se vrne, da uporabi zmožnost datetime.fromtimestamp() za spremembo starosti in časa v objekt datetime. Naslednji objekt datetime, shranjen v spremenljivki date_time, ponazarja podrobnosti primerjave datuma in časa. Nazadnje vsebina natisne prvo starost in spremenjeni predmet datuma in časa.
Ti print() razglasi proizvedejo izkupiček, ki prikazuje tako grobi starostni čas kot organiziran predmet datuma in časa, kar daje razumen prikaz prvega časovnega žiga in njegovega prilagajanja človeku.
Pretvarjanje časa epohe v časovni pas DateTime z uporabo Pythona
Lahko uporabimo časovni pas() funkcija pytz paket za pretvorbo časa epohe v časovni pas DateTime. Oglejmo si naslednji primer, ki prikazuje pretvorbo istega.
primer:
# 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 )
Izhod:
DateTime Time zone: 2021-06-10 09:34:32-05:00
Pojasnilo:
V zgornjem primeru se modul datuma in časa uporablja skupaj z modulom pytz za delo z objekti datuma in časa v določenem časovnem območju. Bistveni cilj vsebine je ustvariti predmet datuma in časa in izrecno določiti njegovo točko v časovnem pasu na 'CST6CDT' (Fokalni standardni čas s časom varčevanja s sončno svetlobo), nato pa na tej točki natisniti naslednji datum in uro.
Na ta način se zmožnost timezone() iz modula pytz uporabi za izdelavo predmeta časovne regije, ki naslavlja 'CST6CDT'. Nato se zmožnost restrict() iz objekta časovne regije uporabi za določitev točke v časovnem pasu za določen predmet datuma in časa (10. junij 2021, 9:34:32)
Meja is_dst=None kaže, da podatki o času varčevanja s svetlobo (DST) niso nedvoumno podani, kar dovoljuje zmožnosti restrict(), da odloči o ustreznem statusu poletnega časa glede na vnaprej določen čas. Končno vsebina natisne naslednji objekt datuma in časa z izrecno nastavljeno časovno regijo.
b plus drevo
Pretvorba časa epohe Unix v DateTime z uporabo Pythona
Ta postopek pretvorbe časa epohe Unix v DateTime je podoben tistemu, kar smo naredili prej. Ta proces vključuje datetime.fromtimestamp() funkcijo za pretvorbo časa epohe Unix v objekt DateTime in uporablja strftime() funkcijo za pretvorbo predmeta v ustrezno obliko DateTime.
Oglejmo si naslednji primer, ki dokazuje isto.
primer:
# 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 )
Izhod:
Unix epoch time: 252384207 DateTime: 1977 - 12 - 31 08 : 13 : 27
Pojasnilo:
V zgornjem primeru se modul datuma in časa uporablja za spremembo danega starostnega časa, označenega kot 252384207 sekund, v bolj razumljivo organizacijo. Bistveni cilj je ustvariti predmet datuma in časa iz starosti in časa in ga nato oblikovati kot niz za prikaz. Vsebina se začne z vključitvijo modula za datum in čas. Zmožnost datetime.fromtimestamp() se nato uporabi za spremembo starosti in časa v objekt datuma in časa.
Naslednji predmet datuma in časa, shranjen v spremenljivki datetime_obj, tipizira povezane podrobnosti datuma in časa. Nato se zmožnost strftime() uporabi za oblikovanje predmeta datuma in časa kot niza z določeno organizacijo. Za to situacijo je prikazana konfiguracija '%Y - %m - %d %H : %M : %S', ki obravnava leto, mesec, dan, uro, trenutek in sekundo.
Končno vsebina natisne prvi čas starosti Unixa in urejeni niz datuma in časa. Ti print() razglasi ustvarjajo donos, ki prikazuje tako grobo starost, čas kot organiziran niz datuma in časa, kar daje nezmotljiv prikaz prvega časovnega žiga in njegovega prilagajanja človeku.
Pretvarjanje DateTime v čas epohe v milisekundah z uporabo Pythona
Za pretvorbo epohe DateTime v milisekunde lahko uporabimo strptime() funkcijo za vrnitev predmeta datetime iz podanega niza in uporabo časovni žig() funkcijo za pretvorbo predmeta v sekunde. Poleg tega moramo dobljeno vrednost pomnožiti s tisoč, da dobimo epoho DateTime v milisekundah.
Oglejmo si primer, ki dokazuje isto.
pretvori str v int
primer:
# 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)
Izhod:
epoch time in milliseconds: 1623301415720.0
Pojasnilo:
V zgornjem primeru je modul datuma in časa uporabljen za spremembo oblikovanega niza, ki se nanaša na določen datum in čas, v oceno starosti, ocenjeno v milisekundah. Cikel se začne z uporabo zmožnosti strptime(), ki razčleni informacijski niz '10-6-2021 10:33:35,72' v luči podane zasnove '%d-%m-%Y %H: %M:%S,%f'. Ta konfiguracija označuje dan, mesec, leto, uro, trenutek, sekundo in mikrosekundo v informacijskem nizu.
Naslednji objekt datuma in časa, shranjen v spremenljivki dt_obj, pooseblja razčlenjene podatke o datumu in času. Na ta način vsebina ugotovi čas starosti z uporabo strategije timestamp() za objekt datetime, ki obravnava količino sekund, ki so pretekle od starosti Unixa (1. januar 1970, 00:00:00 UTC). Povečanje te vrednosti za 1000 vernikov na milisekunde, kar daje bolj natančen prikaz časa.
Končno vsebina natisne določen čas starosti v milisekundah z uporabo artikulacije print().
Pretvarjanje časovnega žiga epohe v DateTime z uporabo Pythona
Lahko uporabimo datetime.fromtimestamp() funkcijo za pretvorbo časovnega žiga epohe v DateTime. Spodaj je prikazan primer:
primer:
# 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 )
Izhod:
epoch timestamp: 33456871 DateTime: 1971-01-23 11:04:31
Pojasnilo:
V zgornjem primeru je modul datuma in časa uporabljen za spremembo danega časovnega žiga starosti, naslovljenega kot 33456871 sekund, v bolj razumno in razumljivo konfiguracijo. Vsebina se začne z vključitvijo modula za datum in čas, ki omogoča dostop do različnih funkcij pri delu z datumi in časi.
Časovni žig starosti, ki nakazuje količino sekund, ki so se odvijale od dobe Unixa (1. januar 1970, 00:00:00 UTC), je dodeljen spremenljivki epoch_time znotraj vsebine. Tako se zmožnost datetime.fromtimestamp() uporablja za spremembo tega starostnega časovnega žiga v objekt datetime z imenom the_datetime.
Vsebina se zapre s tiskanjem prvega časovnega žiga starosti in organiziranega objekta datuma in časa z uporabo členkov print().
Razumevanje napak, povezanih z epoho datetime v Pythonu
Med delom z epoho datetime v programskem jeziku Python lahko naletimo na napako, ki pravi, da je leto Python epoch datetime izven obsega ali neveljaven argument Python.
Oglejmo si primer, da bi razumeli problem.
primer:
# 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 )
Izhod:
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
Pojasnilo:
V zgornjem primeru je modul datuma in časa uporabljen za spremembo določenega datuma in časa, za to situacijo, '1960-06-10 00:00:00', v starostni čas z uporabo zmožnosti timestamp(). Vsebina se začne z vključitvijo modula za datum in čas, ki omogoča dostop do funkcij, povezanih z opravili glede datuma in časa.
int podvojiti
Osrednja uporabnost vsebine je v uporabi zmožnosti timestamp(), ki se uporablja za objekt datuma in časa, ki naslavlja 10. junij 1960 ob 12. uri. Ta zmožnost izračuna in vrne čas starosti, pri čemer obravnava količino sekund, ki so pretekle od starosti Unixa (1. januar 1970, 00:00:00 UTC) do vnaprej določenega datuma in časa.
Rezultat se nato natisne z uporabo print() razglasa, kar ustvari rezultat, ki bi se lahko zdel '- 306691200.0'.