Konverzia reťazca na DateTime v Pythone
Práca s dátumami a časmi je bežnou úlohou v programovaní a Python ponúka výkonný modul datetime na spracovanie operácií súvisiacich s dátumom a časom.
V tomto článku sa chystáme previesť reťazec formátu „yyyy-mm-dd“ (yyyy-mm-dd znamená rok-mesiac-deň) na objekt DateTime pomocou Pythonu.
Príklad:
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.
Poznámka : Existuje viacero spôsobov zápisu dátumov vo formáte reťazca ako rrrr-mm-dd, dd/mm/rrrr atď. Pomocou týchto metód môžeme zmeniť ľubovoľný formát dátumu reťazca na formát DateTime.
Ako previesť reťazce na DateTime v Pythone?
Reťazec môžeme previesť na DateTime pomocou rôznych prístupov a metód. Vyberte si vhodnú metódu založenú na vašich požiadavkách a zaobchádzajte s neplatnými dátumami elegantne, aby ste zaistili vykonanie vášho Python programy. Pozrime sa na každú metódu nižšie:
- Použitie strptime()
- Použitím dateutil.parser.parse()
- Použitím datetime.strptime()
Previesť dátum reťazca na dátum a čas pomocou strptime()
Reťazec dátum môžeme previesť na objekt DataTime pomocou funkcia strptime(). od modul dátum a čas s Input(). Použijeme formát „%Y/%m/%d“, aby sme reťazec dostali na dátum a čas.
Príklad:
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())> |
Výkon:
2021-05-25
Preveďte reťazec na objekty DateTime v Pythone pomocou dateutil.parser.parse()
Reťazec dátum môžeme previesť do formátu DateTime pomocou funkcie dateutil.parser.parse() z knižnice dateutil. Poskytuje flexibilnejší prístup k analýze a konverzii dátumových reťazcov.
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)> |
Výkon:
2023-07-25 00:00:00
Čítaj viac: Použitie dateutil na analýzu dátumov.
Previesť zoznam dátumov reťazca na dátum a čas pomocou datetime.strptime()
Zoznam dátumov reťazca môžeme previesť na objekt DateTime pomocou datetime.strptime() . Metóda datetime.strptime() v Pythone nám umožňuje analyzovať reťazec dátumu so špecifikovaným formátom a previesť ho na objekt 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())> |
Výkon:
2021-05-25 2020-05-25 2019-02-15 1999-02-04
Odstraňovanie problémov strptime() chýb
strptime() vám poskytne hodnotu ValueError, ak sa vstupný reťazec nedá analyzovať v danom formáte.
Môžete vyskúšať bloky „vyskúšať a okrem“ nájsť možné riešenie chyby ValueError.
Príklad:
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)> |
Výkon
Error: day is out of range for month
Pokryli sme rôzne metódy na konverziu reťazca dátumu na formát DateTime v Pythone. Formát DateTime v Pythone je veľmi užitočný pri práci s údajmi ako dátumy, ako je napríklad zistenie počtu dní medzi 2 dátumami.
Ak musíte vykonávať operácie k dátumu, je veľmi dôležité uchovávať dátumy vo formáte DateTime. Prekladač bude považovať yyyy-mm-dd za reťazec, ak ho nezmeníte, takže nebude možné vykonať Operácia DateTime na ňom.
Podobné čítanie:
- Preveďte reťazec na DateTime a naopak v Pythone
- Manipulujte s dátumom a časom pomocou modulu Datetime
- Vytvorte Python Datetime z reťazca
- Práca s objektmi Datetime a časovými pásmami v Pythone