Konwersja ciągu na DateTime w Pythonie
Praca z datami i godzinami jest częstym zadaniem w programowaniu, a Python oferuje potężny moduł datetime do obsługi operacji związanych z datą i czasem.
W tym artykule przekonwertujemy ciąg znaków w formacie „rrrr-mm-dd” (rrrr-mm-dd oznacza rok-miesiąc-dzień) na obiekt DateTime za pomocą języka Python.
Przykład:
Input: '2023-07-25' Output: 2023-07-25 11:30:00 Explanation: In This, we are converting the string 'yyyy-mm-dd' to Datetime format in Python.
Notatka : Istnieje wiele sposobów zapisywania dat w formacie ciągu znaków, np. rrrr-mm-dd, dd/mm/rrrr itp. Za pomocą tych metod możemy zmienić dowolny format daty w postaci ciągu znaków na format DateTime.
Jak przekonwertować ciągi na DateTime w Pythonie?
Możemy przekonwertować ciąg na DateTime przy użyciu różnych podejść i metod. Wybierz odpowiednią metodę w oparciu o swoje wymagania i sprawnie obsługuj nieprawidłowe ciągi dat, aby zapewnić wykonanie swojego Pyton programy. Przyjrzyjmy się każdej metodzie poniżej:
- Używanie strptime()
- Za pomocą dateutil.parser.parse()
- Za pomocą datetime.strptime()
Konwertuj datę ciągu na DateTime za pomocą strptime()
Możemy przekonwertować datę ciągu na obiekt DataTime za pomocą metody funkcja strptime(). z moduł datetime z wejściem(). Użyjemy formatu „%Y/%m/%d”, aby uzyskać ciąg znaków w formacie DateTime.
Przykład:
Python3
import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime> => datetime.datetime.strptime(> input> ,> format> )> # get the date from the datetime using date()> # function> print> (datetime.date())> |
Wyjście:
2021-05-25
Konwertuj ciąg na obiekty DateTime w Pythonie za pomocą dateutil.parser.parse()
Możemy przekonwertować datę ciągu na format DateTime za pomocą funkcji dateutil.parser.parse() z biblioteki dateutil. Zapewnia bardziej elastyczne podejście do analizowania i konwertowania ciągów dat.
Python3
from> dateutil.parser> import> parse> def> convert_to_datetime(input_str, parserinfo> => None> ):> > return> parse(input_str, parserinfo> => parserinfo)> # Example usage> date_string> => '2023-07-25'> result_datetime> => convert_to_datetime(date_string)> print> (result_datetime)> |
Wyjście:
2023-07-25 00:00:00
Czytaj więcej: Używanie dateutil do analizowania dat.
Konwertuj listę dat ciągów na DateTime za pomocą datetime.strptime()
Możemy przekonwertować listę dat ciągów na obiekt DateTime za pomocą datetime.strptime() . Metoda datetime.strptime() języka Python pozwala nam analizować ciąg daty w określonym formacie i konwertować go na obiekt typu datetime.
Python3
# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [> '2021/05/25'> ,> '2020/05/25'> ,> '2019/02/15'> ,> '1999/02/4'> ]> # format> format> => '%Y/%m/%d'> for> i> in> input> :> > > # convert from string format to datetime format> > # and get the date> > print> (datetime.datetime.strptime(i,> format> ).date())> |
Wyjście:
2021-05-25 2020-05-25 2019-02-15 1999-02-04
Rozwiązywanie problemów z błędami strptime().
strptime() wyświetli błąd ValueError, jeśli ciągu wejściowego nie można przeanalizować w podanym formacie.
Możesz wypróbować bloki „spróbuj i z wyjątkiem”, aby znaleźć możliwe rozwiązanie błędu wartości.
Przykład:
Python3
from> datetime> import> datetime> # error as 2021 is not a leap year> date_string> => '2021-02-29'> date_format> => '%Y-%m-%d'> # Attempt to convert string to datetime> try> :> > date_object> => datetime.strptime(date_string, date_format)> > print> (date_object)> except> ValueError as e:> > print> (> 'Error:'> , e)> |
Wyjście
Error: day is out of range for month
Omówiliśmy różne metody konwersji ciągu znaków daty na format DateTime w Pythonie. Format DateTime w Pythonie jest bardzo przydatny podczas operacji na danych jako datach, takich jak znajdowanie liczby dni między dwiema datami.
Jeśli musisz wykonywać operacje na dacie, bardzo ważne jest przechowywanie dat w formacie DateTime. Interpreter potraktuje rrrr-mm-dd jako ciąg znaków, jeśli go nie zmienisz, co uniemożliwi wykonanie Operacja DateTime na tym.
Podobne lektury:
- Konwertuj ciąg na DateTime i odwrotnie w Pythonie
- Manipuluj datą i godziną za pomocą modułu Datetime
- Utwórz Python Datetime z ciągu
- Praca z obiektami Datetime i strefami czasowymi w Pythonie