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.
np.histogram
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))> |
>
np.random.rand
>
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