logo

Python epocha į Datetime

Tolesnėje pamokoje mes suprasime epochos konvertavimą į DateTime programoje Python programavimo kalba naudojant keletą pavyzdžių. Norėdami konvertuoti epochą į datą ir laiką, naudosime Python epochą. Taip pat aptarsime šias temas:

  1. Datos ir laiko konvertavimas į epochos laiką
  2. Epocha konvertuojama į DateTime eilutę
  3. Epocha konvertuojama į datos laiko milisekundes
  4. Konvertuojama epocha į DateTime laiko juostą
  5. Unix epochos konvertavimas į DateTime
  6. Datos laikas konvertuojamas į epochos laiką milisekundėmis
  7. Epochos laiko žyma konvertuojama į datos laiką
  8. Python epocha DateTime metai nepatenka į diapazoną

Tačiau prieš pradėdami trumpai supraskime epochos laiką Python.

Kas yra epochos laikas Python?

Epochos laikas, dar vadinamas Unix laiku arba POSIX laiku, yra sistema, skirta sekti laiką, kaip įvairios sekundės, praėjusios nuo Unix amžiaus, ty 1970 m. sausio 1 d. 12 val. UTC. Ši sistema plačiai naudojama formuojant struktūras ir programuojant dialektus. , įskaitant Python.

Python programoje galime dirbti su amžiaus laiku naudodami laiko modulį, kuris suteikia galimybę valdyti su laiku susijusias reikšmes. Viena iš esminių amžiaus laiko valdymo galimybių yra time.time(), kuri grąžina einamąjį laiką sekundėmis nuo amžiaus kaip slenkantį taško skaičių.

Epochos laiko konvertavimas į DateTime naudojant Python

Galime naudoti Python datetime.fromtimestamp() funkcija, siekiant konvertuoti epochos laiką į DateTime. Panagrinėkime šį pavyzdį, rodantį Python epochos konvertavimą į DateTime.

Pavyzdys:

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

Išvestis:

 Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11 

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis importuojamas, atsižvelgiant į datos ir laiko reikšmių valdymą. Tada kintamasis epoch_time išleidžiamas tam tikra 40246871 vertė, skaičiuojant nuo Unix amžiaus (1970 m. sausio 1 d., 00:00:00 UTC) prabėgusias sekundes.

f filmai

Pagrindinis turinio naudingumas yra datatime.fromtimestamp() galimybės naudojimas. Ši galimybė reikalauja šiek tiek investicijų (epoch_time) ir pakeičia ją į suprantamesnę konfigūraciją, sukurdama datos ir laiko objektą. Vėlesnis datos ir laiko objektas, adresuojamas ta pačia data ir laiku, yra įtraukiamas į kintamąjį date_time.

Kad pokytis būtų suvokiamas, turinys apima du spausdinimo () skelbimus. Pirmasis, print('Given age time:', epoch_time), rodo pirmąjį amžiaus laiko įvertinimą, o paskesnis, print('Converted Datetime:', date_time), pateikia pasikeitusią datos ir laiko reikšmę.

DateTime konvertavimas į epochos laiką naudojant Python

Norėdami konvertuoti DateTime į epochos laiką, naudosime laiko žyma () funkcija. Pirmiausia panagrinėkime šį pavyzdį, iliustruojantį DateTime konvertavimą į epochos laiką.

Pavyzdys:

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

Išvestis:

 Converted epoch time: 1623184200.0 

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis importuojamas su data ir laiku susijusioms veikloms tvarkyti. Turinyje rodomas tam tikros datos ir laiko pakeitimas į amžiaus laiką, naudojant laiko žymos () funkciją.

Sąveika pradedama sukuriant datos ir laiko objektą, adresuojantį 2021 m. birželio 9 d., 2:00 val. Tada šis datos ir laiko objektas perduodamas kaip ginčas su timestamp() galimybe, kuri grąžina tą patį amžiaus laiką (sekundžių skaičių, prabėgusią nuo Unix amžiaus, 1970 m. sausio 1 d., 00:00:00 UTC). Tolesnis amžiaus laikas įtraukiamas į kintamąjį epoch_time.

Turinys baigiamas print() skelbimu: print('Konvertuotas amžiaus laikas:', epoch_time), kuris duoda nustatytą amžiaus laiką pagal iš anksto nustatytą datos laiką. Epochos laiko konvertavimas į eilutę DateTime naudojant Python Norėdami konvertuoti epochos laiką į datos ir laiko eilutę, turime konvertuoti epochos laiką į datetime, o tada gautą datos laiko kintamąjį perduoti funkcijai strftime(), kad jis būtų sėkmingai konvertuotas į datos ir laiko eilutę.

Pavyzdys:

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

Išvestis:

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

Paaiškinimas:

Aukščiau pateiktame pavyzdyje mes vėl importavome data ir laikas biblioteka. Tada mes panaudojome datetime.fromtimestamp() funkcija, kad tam tikrą epochos laiką konvertuotų į datos laiką ir perduotų jį į strftime() funkcija konvertuoti datos ir laiko objektą į datos ir laiko eilutę. The strftime() funkcijos parametrai yra formato kodai, kuriais norėjome tinkinti eilutę.

    %IRnurodo metus%mnurodo mėnesį%dnurodo dieną%Hnurodo valandą%Mnurodo minutę%Snurodo sekundes

Epochos laiko konvertavimas į DateTime milisekundes naudojant Python

Mes galime gauti DateTime kartu su milisekundėmis iš epochos laiko, naudodami metodą, kurį taikėme epochos laiką konvertuodami į datą laiką. Panagrinėkime šį pavyzdį, rodantį tą patį.

Pavyzdys:

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

Išvestis:

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

Paaiškinimas:

python likusios dalies operatorius

Aukščiau pateiktame pavyzdyje datos ir laiko modulis importuojamas dirbti su data ir laiku susijusioms veikloms. Pagrindinis turinio vaidmuo yra per tam tikrą laiką, nustatytą kaip 402471,238201 sekundės, pakeisti į suprantamą konfigūraciją, naudojant datos ir laiko objektą ir organizuotą eilutę.

Turinys grįžta, kad panaudotų datetime.fromtimestamp() galimybę laikui bėgant pakeisti į datetime objektą. Vėlesnis datos ir laiko objektas, įtrauktas į kintamąjį date_time, parodo datos ir laiko palyginimo subtilybes. Pagaliau turinys spausdina ir pirmąjį amžiaus laiką, ir pakeistą datos laiką objektą.

Šie print() skelbimai sukuria derlių, rodantį ir neapdorotą amžiaus laiką, ir sutvarkytą datos ir laiko objektą, pateikdami pagrįstą pirmosios laiko žymos ir žmogaus pritaikymo laiko vaizdavimą.

Epochos laiko konvertavimas į DateTime laiko juostą naudojant Python

Mes galime naudoti laiko zona() funkcija pytz paketą, kad epochos laiką būtų galima konvertuoti į DateTime laiko juostą. Panagrinėkime šį pavyzdį, rodantį to paties konvertavimą.

Pavyzdys:

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

Išvestis:

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

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis naudojamas kartu su pytz moduliu, kad būtų galima dirbti su datos ir laiko objektais tam tikrame laiko regione. Pagrindinis turinio tikslas yra sukurti datos ir laiko objektą ir aiškiai nurodyti jo tašką laiko juostoje į „CST6CDT“ (Židinio standartinis laikas su saulės šviesos taupymo laiku), tada tuo metu išspausdinti kitą datą ir laiką.

Tokiu būdu pytz modulio galimybė laiko juosta() naudojama norint sukurti laiko srities objektą, adresuojantį „CST6CDT“. Tada laiko regiono objekto funkcija limit() naudojama norint nustatyti konkretaus datos ir laiko objekto laiko juostos tašką (2021 m. birželio 10 d., 9:34:32).

Riba is_dst=Nėra rodo, kad šviesos taupymo laiko (DST) duomenys nėra vienareikšmiškai pateikti, todėl limit() funkcija leidžia nuspręsti dėl tinkamos DST būsenos atsižvelgiant į iš anksto nustatytą laiką. Pagaliau turinys išspausdina paskesnį datos ir laiko objektą su aiškiai nustatyta laiko zona.

Unix epochos laiko konvertavimas į DateTime naudojant Python

Šis Unix epochos laiko konvertavimo į DateTime procesas yra panašus į tai, ką darėme anksčiau. Šis procesas apima datetime.fromtimestamp() funkcija konvertuoti Unix epochos laiką į DateTime objektą ir naudoja strftime() funkcija paversti objektą tinkamu DateTime formatu.

Panagrinėkime šį pavyzdį, rodantį tą patį.

Pavyzdys:

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

Išvestis:

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

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis naudojamas per tam tikrą laiką, pažymėtą 252384207 sekundėmis, pakeisti į suprantamesnę organizaciją. Esminis tikslas yra sukurti datos ir laiko objektą iš amžiaus laiko ir vėliau sukurti jį kaip eilutę, skirtą rodyti. Turinys pradedamas įtraukiant datos ir laiko modulį. Tada datatime.fromtimestamp() galimybė naudojama laikui bėgant pakeisti į datos ir laiko objektą.

Vėlesnis datos ir laiko objektas, įtrauktas į kintamąjį datetime_obj, apibūdina susijusias datos ir laiko subtilybes. Tada strftime() galimybė naudojama suprojektuoti datos ir laiko objektą kaip eilutę su tam tikra organizacija. Šioje situacijoje nurodyta konfigūracija yra '%Y - %m - %d %H : %M : %S', nurodanti metus, mėnesį, dieną, valandą, momentą ir sekundę.

Pagaliau turinys išspausdina pirmąjį Unix amžiaus laiką ir sutvarkytą datos ir laiko eilutę. Šie print() skelbimai sukuria derlių, rodydami neapdorotą amžiaus laiką ir sutvarkytą datos ir laiko eilutę, suteikdami neabejotinai pirmosios laiko žymos ir jos žmonėms pritaikytos tapatybės atvaizdą.

DateTime konvertavimas į epochos laiką milisekundėmis naudojant Python

Norėdami konvertuoti epochą DateTime į milisekundes, galime naudoti strptime() funkcija grąžinti datos ir laiko objektą iš nurodytos eilutės ir naudoti laiko žyma () funkcija konvertuoti objektą į sekundes. Be to, gautą reikšmę turime padauginti iš tūkstančio, kad gautume epochą DateTime milisekundėmis.

Panagrinėkime tą patį pavyzdį.

lentelių kūrimas iš latekso

Pavyzdys:

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

Išvestis:

 epoch time in milliseconds: 1623301415720.0 

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis naudojamas pakeisti sukurtą eilutę, adresuojančią tam tikrą datą ir laiką, į amžiaus laiko vertę, įvertintą milisekundėmis. Ciklas pradedamas naudojant strptime() galimybę, kuri analizuoja informacijos eilutę „10-6-2021 10:33:35,72“, atsižvelgiant į pateiktą dizainą „%d-%m-%Y %H: %M:%S,%f'. Ši konfigūracija nurodo dienos, mėnesio, metų, valandos, momento, sekundės ir mikrosekundės informacijos eilutės dalis.

Vėlesnis datos ir laiko objektas, įtrauktas į kintamąjį dt_obj, įkūnija analizuojamus datos ir laiko duomenis. Tokiu būdu turinys nustato amžiaus laiką, naudodamas datos ir laiko objekto timestamp() strategiją, nurodydamas sekundžių skaičių, praėjusį nuo Unix amžiaus (1970 m. sausio 1 d., 00:00:00 UTC). Padidinus šią vertę 1000 tikinčiųjų iki milisekundžių, suteikiant detalesnį laiko vaizdavimą.

Pagaliau turinys atspausdina nustatytą amžiaus laiką milisekundėmis, naudodamas print() artikuliaciją.

Epochos laiko žymos konvertavimas į DateTime naudojant Python

Mes galime naudoti datetime.fromtimestamp() funkcija konvertuoti epochos laiko žymą į DateTime. Toliau pateikiamas pavyzdys:

Pavyzdys:

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

Išvestis:

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

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis naudojamas tam tikro amžiaus laiko žymai, adresuojamai 33456871 sekundei, pakeisti į pagrįstesnę ir suprantamesnę konfigūraciją. Turinys prasideda įtraukiant datos ir laiko modulį, suteikiantį galimybę naudotis įvairiomis funkcijomis dirbant su datomis ir laiku.

Amžiaus laiko žyma, nurodanti sekundžių skaičių, prabėgusią nuo Unix amžiaus (1970 m. sausio 1 d., 00:00:00 UTC), priskiriama kintamajam epoch_time turinio viduje. Taigi, datatime.fromtimestamp() galimybė naudojama pakeičiant šią amžiaus žymą į datetime objektą, pavadintą the_datetime.

Turinys uždaromas spausdinant pirmąją amžiaus žymą ir sutvarkytą datos ir laiko objektą, naudojant print() artikuliacijas.

Suprasti klaidas, susijusias su epochos datatime programoje Python

Dirbdami su epochos datatime Python programavimo kalba, galime susidurti su klaida, kad Python epoch datetime metai yra už diapazono arba Python netinkamas argumentas.

isempty java

Panagrinėkime pavyzdį, kad suprastume problemą.

Pavyzdys:

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

Išvestis:

 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 

Paaiškinimas:

Aukščiau pateiktame pavyzdyje datos ir laiko modulis naudojamas tam tikros datos laiko perjungimui, šioje situacijoje, „1960-06-10 00:00:00“, į amžiaus laiką, naudojant timestamp() funkciją. Turinys pradedamas įtraukiant datos ir laiko modulį, suteikiantį galimybę naudotis funkcijomis, susijusiomis su datos ir laiko užduotimis.

Pagrindinis turinio naudingumas slypi naudojant timestamp() funkciją, kuri taikoma datos ir laiko objektui, adresuotam 1960 m. birželio 10 d., 12 val. Ši galimybė veikia ir grąžina amžiaus laiką, nurodydama sekundžių skaičių, prabėgusią nuo Unix amžiaus (1970 m. sausio 1 d., 00:00:00 UTC) iki iš anksto nustatytos datos ir laiko.

Tada rezultatas išspausdinamas naudojant print() skelbimą ir sukuriamas rezultatas, kuris gali atrodyti kaip „- 306691200.0“.