logo

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:

  1. Použitie strptime()
  2. Použitím dateutil.parser.parse()
  3. 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.

pandy lok

Podobné čítanie: