logo

Python-epoke til Datetime

I den følgende tutorial vil vi forstå konverteringen af ​​epoke til DateTime i Python programmeringssprog ved hjælp af nogle eksempler. Vi vil bruge Python-epoken til at konvertere epoke til henholdsvis dato og tid. Vi vil også dække følgende emner:

  1. Konvertering af DateTime til epoketid
  2. Konvertering af epoke til DateTime-streng
  3. Konvertering af epoke til DateTime millisekunder
  4. Konvertering af epoke til DateTime tidszone
  5. Konvertering af Unix-epoke til DateTime
  6. Konvertering af DateTime til epoketid i millisekunder
  7. Konvertering af epoketidsstempel til DateTime
  8. Python-epoken DateTime år er uden for rækkevidde

Men før vi går i gang, lad os kort forstå epoketid i Python.

Hvad er epoketid i Python?

Epoketid, også kaldet Unix-tid eller POSIX-tid, er en ramme til at følge tid som forskellige sekunder, der er gået siden Unix-alderen, som er kl. 12 UTC den 1. januar 1970. Denne ramme bruges bredt til at finde rammer og programmere dialekter , inklusive Python.

I Python kan vi arbejde med alderstid ved at bruge tidsmodulet, som giver mulighed for at kontrollere tidsrelaterede værdier. En af de væsentlige funktioner til at administrere alderstid er time.time(), som returnerer den igangværende tid i sekunder siden alderen som et glidende punkttal.

Konvertering af epoketid til DateTime ved hjælp af Python

Vi kan bruge Python datetime.fromtimestamp() funktion for at konvertere epoketiden til DateTime. Lad os overveje følgende eksempel, der demonstrerer konverteringen af ​​Python-epoken til DateTime.

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel importeres datetime-modulet under hensyntagen til kontrollen af ​​dato- og tidsværdier. Variablen epoke_tid uddeles derefter den særlige værdi af 40246871, og adresserer de skredet af sekunder siden Unix-alderen (1. januar 1970, 00:00:00 UTC).

Kernenytten af ​​indholdet ligger i brugen af ​​datetime.fromtimestamp()-funktionen. Denne funktion kræver en vis investering (epoch_time) og ændrer den til en mere forståelig konfiguration ved at lave et datetime-objekt. Det efterfølgende datetime-objekt, der adresserer samme dato og klokkeslæt, lægges væk i variablen date_time.

For at give ændringen opfattelighed, inkorporerer indholdet to print() proklamationer. Den første, print('Given age time:', epoch_time), viser den første alderstidsvurdering, mens den efterfølgende, print('Converted Datetime:', date_time), giver den ændrede værdi for datetime.

Konvertering af DateTime til epoketid ved hjælp af Python

For at konvertere DateTime til epoketid, vil vi bruge tidsstempel() fungere. Lad os først overveje følgende eksempel, der illustrerer konverteringen af ​​DateTime til epoketid.

Eksempel:

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

Produktion:

 Converted epoch time: 1623184200.0 

Forklaring:

I ovenstående eksempel er datetime-modulet importeret til håndtering af dato- og tidsrelaterede aktiviteter. Indholdet viser ændringen af ​​en bestemt dato og klokkeslæt til alderstid ved hjælp af tidsstempel()-funktionen.

Interaktionen starter med at lave et datetime-objekt, der adresserer den 9. juni 2021 kl. 02.00. Dette datetime-objekt videregives derefter som en påstand til timestamp()-kapaciteten, som returnerer den samme alderstid (antallet af sekunder, der er gået forbi siden Unix-alderen, 1. januar 1970, 00:00:00 UTC). Den efterfølgende alderstid lægges væk i variablen epoke_tid.

Indholdet afsluttes med en print() proklamation: print('Converted age time:', epoch_time), som giver det fastlagte alderstidspunkt for det foruddefinerede datetime. Konvertering af epoketid til DateTime-streng ved hjælp af Python For at konvertere epoketiden til datetime-streng, skal vi konvertere epoketiden til datetime og derefter videregive den resulterende datetime-variabel til strftime()-funktionen for at konvertere den til datetime-streng.

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel har vi igen importeret dato tid bibliotek. Vi har så brugt datetime.fromtimestamp() funktion for at konvertere en given epoketid til datetime og derefter overføre den til strftime() funktion til at konvertere datetime-objektet til en datetime-streng. Det strftime() funktionsparametre er de formatkoder, som vi ønskede at tilpasse strengen i.

    %OGangiver året%mangiver måneden%dangiver dagen%Hangiver en time%Mangiver minuttet%Sangiver sekunder

Konvertering af epoketiden til DateTime millisekunder ved hjælp af Python

Vi kan få DateTime sammen med millisekunder fra epoketiden ved at bruge den metode, vi gjorde til konvertering af epoketid til DateTime. Lad os overveje følgende eksempel, der viser det samme.

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel er datetime-modulet importeret til at arbejde med behandling af dato- og tidsrelaterede aktiviteter. Indholdets grundlæggende rolle er at ændre sig over en given alderstid, bestemt som 402471.238201 sekunder, til en forståelig konfiguration, der bruger både et datetime-objekt og en organiseret streng.

Indholdet vender tilbage for at bruge datetime.fromtimestamp()-kapaciteten til at ændre over alderstiden til et datetime-objekt. Det efterfølgende datetime-objekt, der er lagt væk i variablen date_time, eksemplificerer sammenligningsdato- og klokkeslættet. Endelig udskriver indholdet både den første alderstid og det ændrede over datetime-objekt.

Disse print() proklamationer producerer udbytte, der viser både den rå alderstid og det organiserede datetime-objekt, hvilket giver en rimelig skildring af det første tidsstempel og dets menneske-imødekommende samme.

Konvertering af epoketid til DateTime-tidszone ved hjælp af Python

Vi kan bruge tidszone() funktion af pytz pakke for at konvertere epoketid til DateTime-tidszonen. Lad os overveje følgende eksempel, der demonstrerer konverteringen af ​​samme.

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel bruges datetime-modulet sammen med pytz-modulet til at arbejde med dato- og tidsobjekter i et bestemt tidsområde. Det væsentlige mål med indholdet er at lave et datetime-objekt og udtrykkeligt sætte dets punkt i tidszonen til 'CST6CDT' (Focal Standard Time with Sunlight Saving Time), og derefter udskrive den efterfølgende dato og tid på det tidspunkt.

På denne måde bliver tidszone()-kapaciteten fra pytz-modulet brugt til at lave et tidsområdeobjekt, der adresserer 'CST6CDT'. Derefter bruges restrict()-funktionen fra tidsregionobjektet til at etablere punktet i tidszonen for et bestemt datetime-objekt (10. juni 2021, 9:34:32)

Grænsen is_dst=Ingen viser, at dataene for lyssparetid (DST) ikke er entydigt givet, hvilket tillader restrict()-kapaciteten at bestemme den passende sommertid-status i lyset af den forudbestemte tid. Endelig udskriver indholdet det efterfølgende datetime-objekt med det udtrykkeligt indstillede tidsområde.

Konvertering af Unix-epoketid til DateTime ved hjælp af Python

Denne proces med at konvertere Unix-epoketiden til DateTime svarer til, hvad vi gjorde tidligere. Denne proces involverer datetime.fromtimestamp() funktion til at konvertere Unix-epoketiden til DateTime-objektet og bruger strftime() funktion til at transformere objektet til det passende DateTime-format.

Lad os overveje følgende eksempel, der viser det samme.

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel bruges datetime-modulet til at skifte over en given alderstid, angivet som 252384207 sekunder, til en mere forståelig organisation. Det væsentlige mål er at lave et datetime-objekt fra alderstiden og bagefter designe det som en streng til show. Indholdet starter med at bringe datetime-modulet ind. Datetime.fromtimestamp()-funktionen bruges derefter til at ændre alderstiden til et datetime-objekt.

Det efterfølgende datetime-objekt, der er lagt væk i variablen datetime_obj, kendetegner de tilhørende dato- og klokkeslætsfiniteter. Derefter bruges strftime()-kapaciteten til at designe datetime-objektet som en streng med en bestemt organisation. For denne situation er den angivne konfiguration '%Y - %m - %d %H : %M : %S,' med adresse til år, måned, dag, time, øjeblik og sekund.

Langt om længe udskriver indholdet både den første Unix-aldertid og den arrangerede datetime-streng. Disse print() proklamationer skaber udbytte, der viser både den rå alderstid og den organiserede datetime-streng, hvilket giver en umiskendelig fremstilling af det første tidsstempel og dets menneskevenlige samme.

Konvertering af DateTime til epoketid i millisekunder ved hjælp af Python

For at konvertere epoken DateTime til millisekunder, kan vi bruge strptime() funktion til at returnere datetime-objektet fra den angivne streng og bruge tidsstempel() funktion til at konvertere objektet til sekunder. Desuden skal vi gange den resulterende værdi med tusind for at producere epoken DateTime i millisekunder.

Lad os overveje et eksempel, der viser det samme.

Eksempel:

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

Produktion:

primær nøgle sammensat nøgle
 epoch time in milliseconds: 1623301415720.0 

Forklaring:

I ovenstående eksempel bruges datetime-modulet til at ændre en designet streng, der adresserer en bestemt dato og tid, til en alderstidsvurdering estimeret i millisekunder. Cyklussen starter med brugen af ​​strptime()-kapaciteten, som parser infostrengen '10-6-2021 10:33:35,72' i lyset af det angivne design '%d-%m-%Y %H: %M:%S,%f'. Denne konfiguration angiver dag, måned, år, time, øjeblik, sekund og mikrosekund dele af informationsstrengen.

Det efterfølgende datetime-objekt, der er lagt væk i variablen dt_obj, repræsenterer de parsede dato- og tidsdata. På denne måde fastslår indholdet alderstiden ved at bruge timestamp()-strategien for datetime-objektet, der adresserer mængden af ​​sekunder, der er gået siden Unix-alderen (1. januar 1970, 00:00:00 UTC). Ved at øge denne værdi med 1000 troende til millisekunder, hvilket giver en mere detaljeret fremstilling af tid.

Langt om længe udskriver indholdet den bestemte alderstid i millisekunder ved hjælp af print() artikulationen.

Konvertering af epoketidsstempel til DateTime ved hjælp af Python

Vi kan bruge datetime.fromtimestamp() funktion til at konvertere epoketidsstemplet til DateTime. Her er et eksempel vist nedenfor:

Eksempel:

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

Produktion:

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

Forklaring:

I ovenstående eksempel bruges datetime-modulet til at ændre et givent alderstidsstempel, adresseret som 33456871 sekunder, til en mere fornuftig og forståelig konfiguration. Indholdet starter med at bringe datetime-modulet ind, hvilket giver adgang til forskellige funktioner til at arbejde med datoer og tidspunkter.

Alderstidsstemplet, der angiver mængden af ​​sekunder, der har udspillet sig siden Unix-alderen (1. januar 1970, 00:00:00 UTC), er allokeret til variablen epoch_time inde i indholdet. Således bruges datetime.fromtimestamp()-kapaciteten til at ændre dette alderstidsstempel til et datetime-objekt med navnet the_datetime.

Indholdet lukkes ved at udskrive både det første alders-tidsstempel og det organiserede datetime-objekt ved hjælp af print()-artikulationerne.

Forståelse af fejl relateret til epoke datetime i Python

Mens vi arbejder med epoken datetime i programmeringssproget Python, kan vi støde på en fejl, der siger, at Python epoken datetime år er uden for området eller Python Invalid Argument.

Lad os overveje et eksempel for at forstå problemet.

Eksempel:

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

Produktion:

 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 

Forklaring:

I ovenstående eksempel bruges datetime-modulet til at ændre et bestemt datetime, for denne situation, '1960-06-10 00:00:00', til alderstid ved at bruge tidsstempel()-funktionen. Indholdet starter med at bringe dato- og tidsmodulet ind, hvilket giver adgang til funktioner forbundet med dato- og tidsopgaver.

Den centrale nytteværdi af indholdet ligger i brugen af ​​timestamp()-kapaciteten, som anvendes på et datetime-objekt, der adresserer 10. juni 1960 kl. 12.00. Denne funktion løser og returnerer alderstiden og adresserer antallet af sekunder, der er gået siden Unix-alderen (1. januar 1970, 00:00:00 UTC) indtil den forudbestemte dato og klokkeslæt.

Resultatet udskrives derefter ved hjælp af print() proklamationen, hvilket skaber et resultat, der kunne synes at være '- 306691200.0'.