logo

Konverterer streng til DateTime i Python

Å jobbe med datoer og klokkeslett er en vanlig oppgave i programmering, og Python tilbyr en kraftig datetime-modul for å håndtere dato- og klokkeslett-relaterte operasjoner.

I denne artikkelen skal vi konvertere strengen til formatet 'åååå-mm-dd' (åååå-mm-dd står for år-måned-dag) til et DateTime-objekt ved hjelp av Python.

Eksempel:



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

Merk : Det er flere måter å skrive datoer på i strengformat som åååå-mm-dd, dd/mm/åååå osv. Vi kan endre et hvilket som helst strengdatoformat til DateTime-format ved å bruke disse metodene.

Hvordan konvertere strenger til DateTime i Python?

Vi kan konvertere strengen til DateTime ved å bruke forskjellige tilnærminger og metoder. Velg riktig metode basert på dine krav og håndter ugyldige datostrenger på en elegant måte for å sikre utførelsen av din Python programmer. La oss se på hver metode nedenfor:

  1. Bruker strptime()
  2. Ved hjelp av dateutil.parser.parse()
  3. Ved hjelp av datetime.strptime()

Konverter strengdato til DateTime ved å bruke strptime()

Vi kan konvertere strengdato til et DataTime-objekt ved å bruke strptime() funksjon fra datetime-modul med Input(). Vi bruker «%Y/%m/%d»-formatet for å få strengen til DateTime.

java standard parametere

Eksempel:

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

>

>

Produksjon:

2021-05-25>

Konverter streng til DateTime-objekter i Python ved hjelp av dateutil.parser.parse()

Vi kan konvertere strengdato til DateTime-format ved å bruke dateutil.parser.parse()-funksjonen fra dateutil-biblioteket. Det gir en mer fleksibel tilnærming til å analysere og konvertere datostrenger.

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

>

>

Produksjon:

2023-07-25 00:00:00>

Les mer: Bruke dateutil for å analysere datoer.

Konverter liste over strengdatoer til DateTime ved hjelp av datetime.strptime()

Vi kan konvertere en liste over strengdatoer til et DateTime-objekt ved å bruke datetime.strptime() . Pythons datetime.strptime()-metode lar oss analysere en datostreng med et spesifisert format og konvertere den til et 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())>

>

oppdatering fra join sql

>

Produksjon:

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

Feilsøking av strptime()-feil

strptime() vil gi deg ValueError hvis inndatastrengen ikke kan analyseres i det gitte formatet.

Du kan prøve 'prøve og unnta'-blokker for å finne den mulige løsningen på ValueError.

Eksempel:

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

>

>

Produksjon

Error: day is out of range for month>

Vi har dekket forskjellige metoder for å konvertere strengen datostrengen til DateTime-format i Python. DateTime-format i Python er veldig nyttig når du bruker data som datoer som å finne antall dager mellom 2 datoer.

Det er veldig viktig å holde datoer i DateTime-format hvis du må utføre operasjoner på dato. Tolken vil behandle åååå-mm-dd som en streng hvis du ikke endrer den, noe som gjør det umulig å utføre DatoTid operasjon på den.

Lignende lesninger: