Pretvorba niza v DateTime v Pythonu

Delo z datumi in časi je običajna naloga pri programiranju, Python pa ponuja zmogljiv modul za datum in čas za obdelavo operacij, povezanih z datumom in časom.

V tem članku bomo pretvorili niz v obliki 'llll-mm-dd' (llll-mm-dd pomeni leto-mesec-dan) v objekt DateTime s pomočjo Pythona.

primer:

  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. 

Opomba : Obstaja več načinov zapisovanja datumov v obliki zapisa niza, kot je llll-mm-dd, dd/mm/llll itd. S temi metodami lahko spremenimo katero koli obliko datuma niza v obliko DateTime.

Kako pretvoriti nize v datum in čas v Pythonu?

Niz lahko pretvorimo v DateTime z različnimi pristopi in metodami. Izberite ustrezno metodo glede na vaše zahteve in elegantno obravnavajte neveljavne datumske nize, da zagotovite izvedbo vašega Python programi. Oglejmo si vsako metodo spodaj:

  1. Uporaba strptime()
  2. Uporaba dateutil.parser.parse()
  3. Uporaba datetime.strptime()

Pretvori datum niza v datum in čas z uporabo strptime()

Datum niza lahko pretvorimo v objekt DataTime z uporabo funkcijo strptime(). od modul za datum in čas z Input(). Uporabili bomo obliko '%Y/%m/%d', da dobimo niz v DateTime.

primer:

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())>

Izhod:

2021-05-25 

Pretvorite niz v objekte DateTime v Pythonu z uporabo dateutil.parser.parse()

Datum niza lahko pretvorimo v obliko DateTime s funkcijo dateutil.parser.parse() iz knjižnice dateutil. Zagotavlja bolj prilagodljiv pristop k razčlenjevanju in pretvorbi datumskih nizov.

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)>

Izhod:

2023-07-25 00:00:00 

Preberi več: Uporaba dateutil za razčlenitev datumov.

Pretvori seznam nizov datumov v DateTime z uporabo datetime.strptime()

Seznam nizov datumov lahko pretvorimo v objekt DateTime z uporabo datetime.strptime() . Pythonova metoda datetime.strptime() nam omogoča, da razčlenimo datumski niz z določeno obliko in ga pretvorimo v predmet datuma in časa.

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())>

Izhod:

2021-05-25 2020-05-25 2019-02-15 1999-02-04 

Odpravljanje težav z napakami strptime().

strptime() vam bo dal ValueError, če vhodnega niza ni mogoče razčleniti v danem formatu.

Poskusite lahko z bloki »poskusi in razen«, da poiščete možno rešitev napake ValueError.

primer:

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)>

Izhod

Error: day is out of range for month 

Zajeli smo različne metode za pretvorbo niza datumskega niza v obliko DateTime v Pythonu. Format DateTime v Pythonu je zelo uporaben pri delu s podatki kot datumi, kot je iskanje števila dni med dvema datumoma.

Zelo pomembno je, da datume hranite v formatu DateTime, če morate izvajati operacije na datumu. Tolmač bo obravnaval llll-mm-dd kot niz, če ga ne spremenite, zaradi česar je nemogoče izvesti Operacija DateTime na njem.

Podobna branja: