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.
pandy lok
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