Virknes pārvēršana par datumu laiku programmā Python

Darbs ar datumiem un laikiem ir izplatīts programmēšanas uzdevums, un Python piedāvā jaudīgu datuma un laika moduli, lai apstrādātu ar datumu un laiku saistītas darbības.

Šajā rakstā mēs pārveidosim virkni formātā “gggg-mm-dd” (gggg-mm-dd apzīmē gads-mēnesis-diena) par DateTime objektu, izmantojot Python.

Piemērs:

  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. 

Piezīme : Ir vairāki veidi, kā ierakstīt datumus virknes formātā, piemēram, gggg-mm-dd, dd/mm/gggg utt. Mēs varam mainīt jebkuru virknes datuma formātu uz DateTime formātu, izmantojot šīs metodes.

Kā Python pārvērst virknes par datumu laiku?

Mēs varam pārvērst virkni par DateTime, izmantojot dažādas pieejas un metodes. Izvēlieties atbilstošo metodi, pamatojoties uz savām prasībām, un graciozi apstrādājiet nederīgās datumu virknes, lai nodrošinātu jūsu datu izpildi Python programmas. Apskatīsim katru tālāk norādīto metodi.

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

Pārveidojiet virknes datumu par datumu laiku, izmantojot strptime()

Mēs varam pārvērst virknes datumu par DataTime objektu, izmantojot strptime() funkcija no datuma un laika modulis ar Input (). Mēs izmantosim formātu “%Y/%m/%d”, lai iegūtu virkni uz DateTime.

Piemērs:

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

Izvade:

2021-05-25 

Pārveidojiet virkni par DateTime objektiem Python, izmantojot dateutil.parser.parse()

Mēs varam pārvērst virknes datumu formātā DateTime, izmantojot datumutil.parser.parse() funkciju no dateutil bibliotēkas. Tas nodrošina elastīgāku pieeju datumu virkņu parsēšanai un konvertēšanai.

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

Izvade:

2023-07-25 00:00:00 

Lasīt vairāk: Datumu parsēšanai izmantojiet dateutil.

Konvertējiet datumu virknes sarakstu uz datumu un laiku, izmantojot datetime.strptime()

Mēs varam pārvērst virknes datumu sarakstu par DateTime objektu, izmantojot datetime.strptime() . Python metode datetime.strptime() ļauj mums parsēt datuma virkni noteiktā formātā un pārvērst to datetime objektā.

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

Izvade:

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

Strptime() kļūdu novēršana

strptime() parādīs ValueError, ja ievades virkni nevar parsēt dotajā formātā.

Varat izmēģināt blokus “izmēģināt un izņemot”, lai atrastu iespējamo ValueError risinājumu.

Piemērs:

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

Izvade

Error: day is out of range for month 

Mēs esam apskatījuši dažādas metodes, kā pārvērst datuma virkni DateTime formātā Python. DateTime formāts Python ir ļoti noderīgs, strādājot ar datiem kā datumiem, piemēram, atrodot dienu skaitu starp diviem datumiem.

Ja jums ir jāveic darbības datumā, ir ļoti svarīgi saglabāt datumus DateTime formātā. Tulks uzskatīs gggg-mm-dd kā virkni, ja jūs to nemaināt, padarot neiespējamu Datuma un laika darbība uz tā.

Līdzīgi lasījumi: