În următorul tutorial, vom înțelege conversia epoch în DateTime în Limbajul de programare Python folosind câteva exemple. Vom folosi Python epoch pentru a converti epoch în dată și, respectiv, oră. Vom acoperi, de asemenea, următoarele subiecte:
- Conversia DateTime în timp de epocă
- Convertirea epocii în șir DateTime
- Conversia epocii în milisecunde DateTime
- Conversia epocii în fusul orar DateTime
- Convertirea epocii Unix în DateTime
- Conversia DateTime în timp de epocă în milisecunde
- Conversia marcajului de timp al epocii în DateTime
- Python epoch DateTime an este în afara intervalului
Dar înainte de a începe, să înțelegem pe scurt timpul de epocă în Python.
Care este timpul de epocă în Python?
Ora epocă, numită și timp Unix sau timp POSIX, este un cadru pentru urmărirea timpului ca diferite secunde care au trecut de la epoca Unix, care este 12 PM UTC la 1 ianuarie 1970. Acest cadru este utilizat pe scară largă în calcularea cadrelor și a dialectelor de programare. , inclusiv Python.
În Python, putem lucra cu timpul de vârstă utilizând modulul de timp, care oferă capabilități de control al valorilor legate de timp. Una dintre capacitățile esențiale pentru gestionarea timpului de vârstă este time.time(), care returnează timpul în curs în secunde de la vârsta ca număr punct de derive.
Conversia timpului de epocă în DateTime folosind Python
Putem folosi Python datetime.fromtimestamp() funcția pentru a converti ora epocii în DateTime. Să luăm în considerare următorul exemplu care demonstrează conversia epocii Python în DateTime.
Exemplu:
# 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 )
Ieșire:
Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11
Explicaţie:
În exemplul de mai sus, modulul datetime este importat, ținând cont de controlul valorilor date și oră. Variabila epoch_time este apoi repartizată cu valoarea particulară a 40246871, abordând alunecarea cu secunde de la epoca Unix (1 ianuarie 1970, 00:00:00 UTC).
Utilitatea de bază a conținutului constă în utilizarea capacității datetime.fromtimestamp(). Această capacitate necesită o investiție (epoch_time) și o transformă într-o configurație mai inteligibilă prin crearea unui obiect datetime. Obiectul datetime ulterior, care se adresează aceleiași date și oră, este păstrat în variabila date_time.
Pentru a oferi percepbilitate schimbării, conținutul încorporează două proclamații print(). Prima, print('Given age time:', epoch_time), arată prima valoare a timpului de vârstă, în timp ce cea următoare, print('Converted Datetime:', date_time), furnizează valoarea modificată de datetime.
Conversia DateTime în timp de epocă folosind Python
Pentru a converti DateTime în timp de epocă, vom folosi timestamp-ul() funcţie. Mai întâi, să luăm în considerare următorul exemplu care ilustrează conversia DateTime în timp de epocă.
Exemplu:
# 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)
Ieșire:
Converted epoch time: 1623184200.0
Explicaţie:
În exemplul de mai sus, modulul datetime este importat pentru a se ocupa de activități legate de dată și oră. Conținutul prezintă schimbarea unei anumite date și oră în vârstă, utilizând capacitatea timestamp().
Interacțiunea începe prin crearea unui obiect datetime care se adresează 9 iunie 2021, la 2:00 AM. Acest obiect datetime este apoi transmis ca o contestație la capacitatea timestamp(), care returnează același timp de vârstă (cantitatea de secunde care au trecut de la epoca Unix, 1 ianuarie 1970, 00:00:00 UTC). Timpul de vârstă următor este păstrat în variabila epoch_time.
Conținutul se termină cu o proclamație print(): print('Convertited age time:', epoch_time), care furnizează vârsta determinată pentru data predefinită. Conversia epocii în șir DateTime utilizând Python Pentru a converti ora epocă în șir datetime, trebuie să convertim ora epocă în datetime și apoi să trecem variabila datetime rezultată la funcția strftime() pentru a o converti cu succes în șir datetime.
Exemplu:
# 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)
Ieșire:
Given epoch time: 700024 Converted datetime string: 1970 - 01 - 09 07 : 57 : 04
Explicaţie:
În exemplul de mai sus, am importat din nou datetime bibliotecă. Am folosit apoi datetime.fromtimestamp() funcția pentru a converti o anumită oră de epocă în datetime și apoi trece-o la strftime() funcția de a converti obiectul datetime într-un șir datetime. The strftime() parametrii funcției sunt codurile de format în care am dorit să personalizăm șirul.
Conversia timpului de epocă în milisecunde DateTime folosind Python
Putem obține DateTime împreună cu milisecunde din timpul epocii folosind metoda pe care am făcut-o pentru conversia orei epocii în DateTime. Să luăm în considerare următorul exemplu care demonstrează același lucru.
Exemplu:
# 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 )
Ieșire:
Given epoch time: 402471.238201 Converted Datetime: 1970-01-05 21:17:51.238201
Explicaţie:
În exemplul de mai sus, modulul datetime este importat pentru a lucra cu tratarea activităților legate de dată și oră. Rolul de bază al conținutului este de a schimba pe o anumită perioadă de timp, determinată ca 402471.238201 secunde, într-o configurație inteligibilă utilizând atât un obiect datetime, cât și un șir organizat.
Conținutul revine pentru a utiliza capacitatea datetime.fromtimestamp() de a se schimba de-a lungul timpului într-un obiect datetime. Obiectul datetime următor, păstrat în variabila date_time, exemplifica subtilitățile de comparare a datei și orei. În cele din urmă, conținutul tipărește atât prima vârstă cât și obiectul modificat peste data și oră.
Aceste proclamații print() produc randament care arată atât timpul brut de vârstă, cât și obiectul datetime organizat, oferind o imagine rezonabilă a primei mărci temporale și a aceleiași acomodații umane.
Conversia orei de epocă în fusul orar DateTime folosind Python
Putem folosi fus orar() funcția de pytz pachet pentru a converti ora epocii în fusul orar DateTime. Să luăm în considerare următorul exemplu care demonstrează conversia acestuia.
Exemplu:
# 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 )
Ieșire:
DateTime Time zone: 2021-06-10 09:34:32-05:00
Explicaţie:
În exemplul de mai sus, modulul datetime este utilizat împreună cu modulul pytz pentru a lucra cu obiecte de dată și oră într-o anumită regiune de timp. Scopul esențial al conținutului este de a crea un obiect datetime și de a indica în mod expres punctul său în fusul orar la „CST6CDT” (Focal Standard Time with Sunlight Saving Time), apoi, în acel moment, tipăriți data și ora ulterioară.
jpa vs hibernare
În acest mod, capacitatea timezone() din modulul pytz este utilizată pentru a crea un obiect regiune de timp care se adresează „CST6CDT”. Apoi, capacitatea restrict() de la obiectul regiune de timp este utilizată pentru a stabili punctul din fusul orar pentru un anumit obiect datetime (10 iunie 2021, 9:34:32)
Limita is_dst=Niciunul arată că datele privind timpul de economisire a luminii (DST) nu sunt furnizate fără echivoc, permițând capacității restrict() să decidă starea potrivită de ora de oră în funcție de timpul predeterminat. În cele din urmă, conținutul tipărește obiectul dat și oră următor cu regiunea de timp setată în mod expres.
Conversia timpului de epocă Unix în DateTime folosind Python
Acest proces de conversie a orei de epocă Unix în DateTime este similar cu ceea ce am făcut mai devreme. Acest proces implică datetime.fromtimestamp() pentru a converti ora de epocă Unix în obiect DateTime și folosește strftime() funcția de a transforma obiectul în formatul potrivit DateTime.
Să luăm în considerare următorul exemplu care demonstrează același lucru.
Exemplu:
# 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 )
Ieșire:
Unix epoch time: 252384207 DateTime: 1977 - 12 - 31 08 : 13 : 27
Explicaţie:
În exemplul de mai sus, modulul datetime este folosit pentru a schimba pe o anumită perioadă de timp, indicată ca 252384207 secunde, într-o organizare mai inteligibilă. Obiectivul esențial este acela de a crea un obiect datetime din timpul epocii și apoi de a-l proiecta ca șir pentru spectacol. Conținutul începe prin a aduce modulul datetime. Capacitatea datetime.fromtimestamp() este apoi folosită pentru a schimba de-a lungul timpului de vârstă într-un obiect datetime.
Obiectul datetime ulterior, păstrat în variabila datetime_obj, tipifică subtilitățile legate de dată și oră. Apoi, capacitatea strftime() este utilizată pentru a proiecta obiectul datetime ca șir cu o anumită organizație. Pentru această situație, configurația indicată este „%Y - %m - %d %H : %M : %S”, care se adresează anul, luna, ziua, ora, momentul și secunda.
În cele din urmă, conținutul tipărește atât prima oră de vârstă Unix, cât și șirul de date și oră aranjat. Aceste proclamații print() creează un randament care arată atât timpul brut, cât și șirul de date și oră organizat, oferind o portretizare inconfundabilă a primei mărci temporale și a aceleiași acomodații umane.
Conversia DateTime în timp de epocă în milisecunde folosind Python
Pentru a converti epoca DateTime în milisecunde, putem folosi strptime() funcția pentru a returna obiectul datetime din șirul specificat și utilizați timestamp-ul() funcția de a converti obiectul în secunde. Mai mult, trebuie să înmulțim valoarea rezultată cu o mie pentru a produce epoca DateTime în milisecunde.
Să luăm în considerare un exemplu care demonstrează același lucru.
Exemplu:
# 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)
Ieșire:
epoch time in milliseconds: 1623301415720.0
Explicaţie:
În exemplul de mai sus, modulul datetime este utilizat pentru a schimba un șir proiectat care se adresează unei anumite date și oră într-o estimare a timpului de vârstă estimată în milisecunde. Ciclul începe cu utilizarea capacității strptime(), care analizează șirul de informații „10-6-2021 10:33:35,72” în lumina designului dat „%d-%m-%Y %H: %M:%S,%f'. Această configurație indică ziua, luna, anul, ora, momentul, secunda și părțile de microsecunde ale șirului de informații.
Obiectul datetime următor, păstrat în variabila dt_obj, simbolizează datele analizate de dată și oră. În acest mod, conținutul stabilește timpul de vârstă utilizând strategia timestamp() pentru obiectul datetime, abordând cantitatea de secunde care au trecut de la epoca Unix (1 ianuarie 1970, 00:00:00 UTC). Creșterea acestei valori cu 1000 de credincioși la milisecunde, oferind o imagine mai granulară a timpului.
În cele din urmă, conținutul imprimă timpul de vârstă determinat în milisecunde utilizând articulația print().
Conversia marcajului de timp al epocii în DateTime folosind Python
Putem folosi datetime.fromtimestamp() funcția de a converti marca temporală a epocii în DateTime. Iată un exemplu prezentat mai jos:
Exemplu:
# 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 )
Ieșire:
epoch timestamp: 33456871 DateTime: 1971-01-23 11:04:31
Explicaţie:
În exemplul de mai sus, modulul datetime este utilizat pentru a schimba marcajul temporal al unei anumite vârste, adresat ca 33456871 secunde, într-o configurație mai rezonabilă și mai ușor de înțeles. Conținutul începe prin a aduce modulul datetime, dând acces la diferite funcționalități pentru a lucra cu date și ore.
Timpul de vârstă, care implică cantitatea de secunde care s-au desfășurat de la epoca Unix (1 ianuarie 1970, 00:00:00 UTC), este alocată variabilei epoch_time din interiorul conținutului. Astfel, capacitatea datetime.fromtimestamp() este folosită pentru a schimba marcajul temporal de-a lungul acestei vârste într-un obiect datetime numit the_datetime.
Conținutul se închide prin imprimarea atât a marcajului de timp al primei vârste, cât și a obiectului datetime organizat utilizând articulațiile print().
Înțelegerea erorilor legate de data epocii în Python
În timp ce lucrăm cu epoch datetime în limbajul de programare Python, s-ar putea să întâmpinăm o eroare care spune că Python epoch datetime year este în afara intervalului sau un argument Python invalid.
Să luăm un exemplu pentru a înțelege problema.
Exemplu:
# 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 )
Ieșire:
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
Explicaţie:
În exemplul de mai sus, modulul datetime este utilizat pentru a schimba o anumită dată și oră, pentru această situație, „1960-06-10 00:00:00”, în timp de vârstă utilizând capacitatea timestamp(). Conținutul începe prin a aduce modulul datetime, dând admitere la funcționalități legate de sarcinile de dată și oră.
Utilitatea centrală a conținutului constă în utilizarea capacității timestamp(), care este aplicată unui obiect datetime care se adresează la 10 iunie 1960, la 12 PM. Această capacitate funcționează și returnează ora de vârstă, abordând cantitatea de secunde trecute de la epoca Unix (1 ianuarie 1970, 00:00:00 UTC) până la data predeterminată.
Rezultatul este apoi tipărit utilizând proclamația print(), creând un rezultat care ar putea părea a fi „- 306691200.0”.