Konwertuj ciąg na DateTime i odwrotnie w Pythonie
Powszechną koniecznością w wielu aplikacjach programistycznych jest radzenie sobie z datami i godzinami. Python ma silne narzędzia i pakiety, które upraszczają obsługę konwersji daty i godziny. W tym artykule zbadamy, jak skutecznie manipulować i formatować wartości daty i godziny w Pyton poprzez konwersję Ciągi do Datetime przedmioty i z powrotem. Artykuł podzielimy na dwie części:
- Python Konwertuj ciąg na DateTime
- Python Konwertuj datę i godzinę na ciąg
Jak przekonwertować ciąg na DateTime?
W Pythonie użytkownicy mogą czasami wprowadzić datę w postaci ciągu znaków, przez co nie możemy na niej wykonać operacji typu data-godzina. Operacji takich jak różnica czasu, porównywanie dat, praca ze strefami czasowymi itp. nie można wykonywać na datach łańcuchowych.
Przyjrzyjmy się procesowi konwersji ciągów znaków na daty dwiema metodami.
Input: Dec 4 2018 10:07 AM Output: 2018-12-04 10:07:00 Explanation: In this, we are converting the string to Date Time.
1. Konwertuj ciąg na Datetime za pomocą Datetime.Strptime()
The Czas strp() jest dostępny w datagodzina moduł i służy do konwersji daty i godziny. Ta funkcja zmienia dane ciąg Datetime do żądanego formatu.
Przykład: W programie zdefiniowano funkcję konwertującą datę i godzinę przedstawioną w postaci a ciąg do daty i godziny obiekt przy użyciu żądanego formatu. Konwersja odbywa się przy użyciu metody datetime.strptime().
Python3
import> datetime> > # Function to convert string to datetime> def> convert(date_time):> > format> => '%b %d %Y %I:%M%p'> > datetime_str> => datetime.datetime.strptime(date_time,> format> )> > > return> datetime_str> > date_time> => 'Dec 4 2018 10:07AM'> print> (convert(date_time))> print> (> type> (convert(date_time)))> |
Wyjście:
2018-12-04 10:07:00 )
2. Konwertuj ciąg na datę i godzinę za pomocą Moduł Dateutil
The Datautil jest modułem innej firmy. Moduł Dateutil obsługuje analizowanie dat w dowolnym formacie ciągu. Moduł ten dostarcza wewnętrznych faktów na temat aktualnych stref czasowych świata. Analizować() może przekonwertować ciąg Pythona na format daty i godziny. Jedynym używanym parametrem jest ciąg znaków.
Przykład: Program importuje moduł parsera biblioteki dateutil w celu konwersji ciąg do datetime który ma funkcję analizowania ciągów daty i godziny. Funkcja Parser.parse() automatycznie rozpoznaje format i przekształca ciąg 23 czerwca 2022 19:31 w obiekt DateTime.
Python3
from> dateutil> import> parser> > DT> => parser.parse(> 'Jun 23 2022 07:31PM'> )> > print> (DT)> print> (> type> (DT))> |
Wyjście:
2022-06-23 19:31:00
Czytaj więcej: Utwórz Python Datetime z ciągu
Jak przekonwertować datę i godzinę na ciąg?
Można również przekonwertować DateTime na ciąg do różnych celów, takich jak raportowanie, formatowanie niestandardowe lub formatowanie na potrzeby wyświetlania. Zobaczmy różne metody konwersji daty i godziny na ciąg.
Input: 2018-12-04 10:07:00 Output: Dec 4 2018 10:07:00AM Explanation: In this, we are converting the datetime format to the string
1. Konwertuj datę i godzinę na ciąg u śpiewaj Time.strftime()
Pyton strftime() funkcja jest obecna w datagodzina moduł, aby utworzyć reprezentację ciągu w oparciu o określony ciąg formatu. Używamy tej metody do konwersji datetime na ciąg w Pythonie.
Inna podobna funkcja jest dostępna w module time Pythona, która konwertuje obiekt krotki lub obiekt struct_time na ciąg znaków określony w argumencie formatu.
Przykład: Program konwertuje Data i godzina na ciąg i importuje moduł czasu Pythona, który oferuje funkcje do obsługi działań związanych z czasem. Funkcja Convert() pobiera jako dane wejściowe krotkę datetime_str, przekształca ją na znacznik czasu za pomocą funkcji time.mktime(), a następnie formatuje znacznik czasu do postaci ciągu znaków, korzystając z dostarczonego formatu %b%d%Y%r.
Python3
import> time> > # Function to convert string to datetime> def> convert(datetime_str):> > datetime_str> => time.mktime(datetime_str)> > format> => '%b %d %Y %r'> > dateTime> => time.strftime(> format> , time.gmtime(datetime_str))> > return> dateTime> > date_time> => (> 2018> ,> 12> ,> 4> ,> 10> ,> 7> ,> 00> ,> 1> ,> 48> ,> 0> )> print> (convert(date_time))> print> (> type> (convert(date_time)))> |
Wyjście:
Dec 04 2018 04:37:00 AM
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
Ucz się więcej: Jak sformatować datę za pomocą strftime() w Pythonie
2. Konwertuj datę i godzinę na ciąg za pomocą funkcji Datetime
Przenieś moduł datetime do przekonwertuj datetime na String używając określonej daty i godziny, a następnie utwórz obiekt datetime. Utwórz ciąg formatujący opisujący wymagania dotyczące formatowania obiektu datetime.
Aby utworzyć ciąg znaków w żądanym formacie, użyj metody strftime() obiektu DateTime. Ciąg formatujący jest argumentem funkcji strftime().
Przykład: Program importuje moduł datetime, który daje programistom Pythona dostęp do klas umożliwiających pracę z datami i godzinami. Podane wartości daty i godziny (14 marca 2022 r., godzina 15:30:00) są używane do generowania obiektu datetime. Obiekt datetime jest przekształcany w reprezentację ciągu w oparciu o ciąg formatu przy użyciu metody strftime().
Python3
import> datetime> > datetime_object> => datetime.datetime(> 2022> ,> 3> ,> 14> ,> 15> ,> 30> ,> 0> )> > format_string> => '%Y-%m-%d %H:%M:%S'> > # Convert the datetime object to a string in the specified format> date_string> => datetime_object.strftime(format_string)> > print> (date_string)> print> (> type> (date_string))> |
Wyjście:
2022-03-14 15:30:00
Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)
W tym artykule omówiliśmy metody konwersji ciągu znaków na wartość typu datetime i odwrotnie. Konwersja daty i godziny na ciągi znaków lub odwrotnie może być bardzo przydatna i wygodna w programowaniu. Możesz użyć tych metod, aby przekonwertować datę/godzinę na ciągi znaków i odwrotnie.
Przeczytaj także:
- Konwersja ciągu „rrrr-mm-dd” na DateTime w Pythonie
- Jak przekonwertować datetime na bieżąco w Pythonie