logo

Epoka Pythona do Datetime

W poniższym samouczku zrozumiemy konwersję epoki na DateTime w pliku Język programowania Python korzystając z kilku przykładów. Do konwersji epoki na datę i godzinę użyjemy języka Python. Poruszymy także następujące tematy:

  1. Konwersja DateTime na czas epoki
  2. Konwersja epoki na ciąg DateTime
  3. Konwersja epoki na milisekundy DateTime
  4. Konwersja epoki na strefę czasową DateTime
  5. Konwersja epoki Uniksa na DateTime
  6. Konwersja DateTime na czas epoki w milisekundach
  7. Konwersja znacznika czasu epoki na DateTime
  8. Rok daty/godziny epoki Pythona jest poza zakresem

Ale zanim zaczniemy, przyjrzyjmy się pokrótce czasowi epoki w Pythonie.

Co to jest czas epoki w Pythonie?

Czas epoki, zwany także czasem Uniksa lub czasem POSIX, to platforma do śledzenia czasu jako różnych sekund, jakie upłynęły od ery Uniksa, czyli od godziny 12:00 czasu UTC 1 stycznia 1970 roku. Struktura ta jest szeroko stosowana w tworzeniu struktur obliczeniowych i dialektach programowania , w tym Python.

W Pythonie możemy pracować z czasem wiekowym wykorzystując moduł time, który daje możliwości kontrolowania wartości związanych z czasem. Jedną z podstawowych funkcji zarządzania czasem wieku jest funkcja time.time(), która zwraca czas w sekundach od wieku jako liczbę dryfującą.

Konwersja czasu epoki na DateTime za pomocą Pythona

Możemy użyć Pythona datetime.fromtimestamp() funkcję, aby przekonwertować czas epoki na DateTime. Rozważmy następujący przykład demonstrujący konwersję epoki Pythona na DateTime.

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie importowany jest moduł datetime z uwzględnieniem kontroli wartości daty i czasu. Następnie zmiennej epoch_time przydzielana jest konkretna wartość 40246871, uwzględniająca sekundy utracone od ery Uniksa (1 stycznia 1970, 00:00:00 UTC).

Podstawowa użyteczność treści polega na wykorzystaniu funkcji datetime.fromtimestamp(). Ta funkcja wymaga pewnej inwestycji (epoch_time) i zmienia ją w bardziej zrozumiałą konfigurację poprzez utworzenie obiektu datetime. Kolejny obiekt datetime, adresujący tę samą datę i godzinę, jest umieszczany w zmiennej date_time.

Aby zmiana była zauważalna, treść zawiera dwie deklaracje print(). Pierwsza, print('Podany czas wieku:', czas_epoki), pokazuje pierwszą ocenę czasu wieku, podczas gdy kolejna, print('Converted Datetime:', date_time), zwraca zmienioną wartość datetime.

Konwersja DateTime na czas epoki za pomocą Pythona

Aby przekonwertować DateTime na czas epoki, użyjemy metody znak czasu() funkcjonować. Najpierw rozważmy następujący przykład ilustrujący konwersję DateTime na czas epoki.

Przykład:

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

Wyjście:

 Converted epoch time: 1623184200.0 

Wyjaśnienie:

W powyższym przykładzie moduł datetime został zaimportowany w celu obsługi działań związanych z datą i czasem. Treść przedstawia zmianę określonej daty i godziny na godzinę wieku przy użyciu funkcji timestamp().

Interakcja rozpoczyna się od utworzenia obiektu datetime adresującego 9 czerwca 2021 r. o godzinie 2:00. Ten obiekt datetime jest następnie przekazywany jako rywalizacja do funkcji timestamp(), która zwraca ten sam czas wieku (ilość sekund, które upłynęły od ery Uniksa, 1 stycznia 1970, 00:00:00 UTC). Kolejny czas wieku jest umieszczany w zmiennej epoch_time.

Treść kończy się proklamacją print(): print('Converted age time:', epoch_time), która podaje określony wiek wiekowy dla predefiniowanej daty i godziny. Konwertowanie czasu epoki na ciąg DateTime za pomocą języka Python Aby przekonwertować czas epoki na ciąg typu datetime, musimy przekonwertować czas epoki na ciąg datetime, a następnie przekazać wynikową zmienną datetime do funkcji strftime(), aby pomyślnie przekonwertować ją na ciąg datetime.

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie ponownie zaimportowaliśmy plik datagodzina biblioteka. Następnie skorzystaliśmy z datetime.fromtimestamp() funkcję, aby przekonwertować dany czas epoki na datetime, a następnie przekazać go do strftime() funkcja konwertująca obiekt datetime na ciąg znaków datetime. The strftime() parametry funkcji to kody formatu, w którym chcieliśmy dostosować ciąg.

format daty.format
    %Iwyznacza rok%Mwyznacza miesiąc%Dwyznacza dzień%Hwyznacza godzinę%Mwyznacza minutę%Swyznacza sekundy

Konwersja czasu epoki na milisekundy DateTime przy użyciu języka Python

Możemy uzyskać DateTime wraz z milisekundami z czasu epoki, korzystając z metody, którą zrobiliśmy w przypadku konwersji czasu epoki na DateTime. Rozważmy następujący przykład ilustrujący to samo.

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie moduł datetime został zaimportowany w celu obsługi działań związanych z datą i czasem. Podstawową rolą treści jest zmiana w danym czasie wieku, określonym jako 402471,238201 sekund, w zrozumiałą konfigurację wykorzystującą zarówno obiekt datetime, jak i zorganizowany ciąg znaków.

Treść powraca, aby wykorzystać funkcję datetime.fromtimestamp() do zmiany czasu wieku na obiekt typu datetime. Kolejny obiekt datetime, umieszczony w zmiennej date_time, stanowi przykład porównywania subtelności daty i godziny. Na koniec treść wypisuje zarówno pierwszy czas wieku, jak i zmieniony obiekt datetime.

Te proklamacje print() dają wydajność pokazującą zarówno przybliżony czas wieku, jak i zorganizowany obiekt datetime, dając rozsądny obraz pierwszego znacznika czasu i jego odpowiedniego dla człowieka.

Konwersja czasu epoki na strefę czasową DateTime przy użyciu języka Python

Możemy skorzystać z strefa czasowa() funkcja pytz pakiet w celu przekonwertowania czasu epoki na strefę czasową DateTime. Rozważmy następujący przykład demonstrujący konwersję tego samego.

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie moduł datetime jest używany wraz z modułem pytz do pracy z obiektami daty i godziny w określonym regionie czasowym. Zasadniczym celem treści jest utworzenie obiektu typu datetime i wyraźne określenie jego punktu w strefie czasowej na „CST6CDT” (ogniskowy czas standardowy z czasem letnim), a następnie wydrukowanie w tym miejscu kolejnej daty i godziny.

W ten sposób funkcja timezone() z modułu pytz jest wykorzystywana do utworzenia obiektu obszaru czasowego adresującego „CST6CDT”. Następnie funkcja restrykcyjna() z obiektu regionu czasowego służy do ustalenia punktu w strefie czasowej dla konkretnego obiektu typu datetime (10 czerwca 2021 r., 9:34:32)

Granica is_dst=None pokazuje, że dane dotyczące czasu oszczędzania światła (DST) nie są podane jednoznacznie, co pozwala funkcji restrykcyjnej() na podjęcie decyzji o odpowiednim stanie czasu letniego na podstawie z góry określonego czasu. W końcu treść wypisuje kolejny obiekt datetime z wyraźnie ustawionym regionem czasowym.

Konwersja czasu epoki Uniksa na DateTime przy użyciu Pythona

Ten proces konwersji czasu epoki Uniksa na DateTime jest podobny do tego, co zrobiliśmy wcześniej. Proces ten polega na datetime.fromtimestamp() funkcję konwertującą czas epoki Uniksa na obiekt DateTime i używa metody strftime() funkcja służąca do przekształcenia obiektu w odpowiedni format DateTime.

Rozważmy następujący przykład ilustrujący to samo.

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie moduł datetime służy do zmiany czasu określonego wieku, oznaczonego jako 252384207 sekund, na bardziej zrozumiałą organizację. Zasadniczym celem jest utworzenie obiektu typu datetime na podstawie wieku i późniejsze zaprojektowanie go jako ciągu na pokaz. Treść rozpoczyna się od wprowadzenia modułu datetime. Następnie wykorzystuje się funkcję datetime.fromtimestamp() do zmiany czasu wieku na obiekt typu datetime.

Kolejny obiekt datetime, umieszczony w zmiennej datetime_obj, określa powiązane subtelności daty i godziny. Następnie wykorzystuje się funkcję strftime() do zaprojektowania obiektu datetime jako ciągu znaków w określonej organizacji. W tej sytuacji wskazana konfiguracja to „%Y - %m - %d %H: %M: %S” i odnosi się do roku, miesiąca, dnia, godziny, chwili i sekundy.

W końcu treść wypisuje zarówno pierwszą godzinę ery Uniksa, jak i uporządkowany ciąg znaków datetime. Te proklamacje print() tworzą wydajność pokazującą zarówno przybliżoną godzinę wieku, jak i zorganizowany ciąg datetime, dając jednoznaczne przedstawienie pierwszego znacznika czasu i jego tego samego, który jest dostosowany do potrzeb człowieka.

Konwersja DateTime na czas epoki w milisekundach przy użyciu Pythona

Aby przekonwertować epokę DateTime na milisekundy, możemy użyć metody strptime() funkcję zwrócenia obiektu datetime z określonego ciągu i użycia funkcji znak czasu() funkcja konwertująca obiekt na sekundy. Co więcej, musimy pomnożyć wynikową wartość przez tysiąc, aby otrzymać epokę DateTime w milisekundach.

Rozważmy przykład pokazujący to samo.

Przykład:

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

Wyjście:

 epoch time in milliseconds: 1623301415720.0 

Wyjaśnienie:

W powyższym przykładzie moduł datetime służy do zamiany zaprojektowanego ciągu znaków odnoszącego się do określonej daty i godziny na szacunkową wartość wieku i czasu szacowaną w milisekundach. Cykl rozpoczyna się od wykorzystania funkcji strptime(), która analizuje ciąg informacyjny „10-6-2021 10:33:35,72” w świetle podanego projektu „%d-%m-%Y %H: %M:%S,%f'. Ta konfiguracja wskazuje dzień, miesiąc, rok, godzinę, moment, sekundę i mikrosekundę w ciągu informacyjnym.

Kolejny obiekt datetime, umieszczony w zmiennej dt_obj, uosabia przeanalizowane dane dotyczące daty i godziny. W ten sposób treść ustala czas wieku, wykorzystując strategię timestamp() dla obiektu datetime, sprawdzając liczbę sekund, które upłynęły od ery Uniksa (1 stycznia 1970, 00:00:00 UTC). Zwiększenie tej wartości o 1000 wierzących do milisekund, co daje bardziej szczegółowy obraz czasu.

Wreszcie treść drukuje określony czas wieku w milisekundach, korzystając z artykulacji print().

Konwersja znacznika czasu epoki na DateTime za pomocą Pythona

Możemy skorzystać z datetime.fromtimestamp() funkcja konwertująca znacznik czasu epoki na DateTime. Oto przykład pokazany poniżej:

Przykład:

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

Wyjście:

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

Wyjaśnienie:

W powyższym przykładzie moduł datetime służy do zmiany zadanego znacznika czasu wieku, adresowanego jako 33456871 sekund, na bardziej rozsądną i zrozumiałą konfigurację. Treść rozpoczyna się od wprowadzenia modułu datetime, udostępniającego różne funkcje pracy z datami i godzinami.

Znacznik czasu wieku, oznaczający liczbę sekund, które upłynęły od ery Uniksa (1 stycznia 1970, 00:00:00 UTC), jest przydzielany do zmiennej epoch_time wewnątrz treści. Zatem funkcja datetime.fromtimestamp() służy do zmiany tego znacznika czasu wieku na obiekt typu datetime o nazwie the_datetime.

Treść zamyka się poprzez wydrukowanie zarówno pierwszego znacznika czasu wieku, jak i zorganizowanego obiektu datetime z wykorzystaniem artykulacji print().

Zrozumienie błędów związanych z epoką datetime w Pythonie

Pracując z datą i godziną epoki w języku programowania Python, możemy napotkać błąd informujący, że rok daty i godziny epoki w języku Python jest poza zakresem lub nieprawidłowy argument języka Python.

Rozważmy przykład, aby zrozumieć problem.

Przykład:

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

Wyjście:

 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 

Wyjaśnienie:

W powyższym przykładzie moduł datetime jest używany do zmiany określonej daty i godziny (w tej sytuacji „1960-06-10 00:00:00”) na godzinę wieku przy użyciu funkcji timestamp(). Treść rozpoczyna się od wprowadzenia modułu datetime, udostępniającego funkcjonalności związane z zadaniami związanymi z datą i czasem.

Główna użyteczność treści polega na wykorzystaniu funkcji timestamp(), która jest stosowana do obiektu datetime z adresem 10 czerwca 1960 o godzinie 12:00. Ta funkcja sprawdza i zwraca czas wieku, uwzględniając liczbę sekund, które upłynęły od epoki Uniksa (1 stycznia 1970, 00:00:00 UTC) do określonej daty i godziny.

Wynik jest następnie drukowany przy użyciu proklamacji print(), tworząc wynik, który może wydawać się „- 306691200.0”.