At arbejde med datoer og klokkeslæt er en almindelig opgave i programmering, og Python tilbyder et kraftfuldt datetime-modul til at håndtere dato- og tidsrelaterede operationer.
I denne artikel skal vi konvertere strengen i formatet 'åååå-mm-dd' (åååå-mm-dd står for år-måned-dag) til et DateTime-objekt ved hjælp af 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.>
Bemærk : Der er flere måder at skrive datoer på i strengformat som åååå-mm-dd, dd/mm/åååå osv. Vi kan ændre ethvert strengdatoformat til DateTime-format ved hjælp af disse metoder.
Sådan konverteres strenge til DateTime i Python?
Vi kan konvertere strengen til DateTime ved hjælp af forskellige tilgange og metoder. Vælg den passende metode baseret på dine krav og håndter ugyldige datostrenge med ynde for at sikre udførelsen af din Python programmer. Lad os se på hver metode nedenfor:
- Brug af strptime()
- Ved brug af dateutil.parser.parse()
- Ved brug af datetime.strptime()
Konverter strengdato til DateTime ved hjælp af strptime()
Vi kan konvertere strengdato til et DataTime-objekt ved hjælp af strptime() funktion fra datetime modul med input(). Vi bruger '%Y/%m/%d'-formatet til at få strengen til DateTime.
java standard parametre
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())> |
>
>
Produktion:
2021-05-25>
Konverter streng til DateTime-objekter i Python vha dateutil.parser.parse()
Vi kan konvertere strengdato til DateTime-format ved hjælp af dateutil.parser.parse()-funktionen fra dateutil-biblioteket. Det giver en mere fleksibel tilgang til at parse og konvertere datostrenge.
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)> |
>
>
Produktion:
2023-07-25 00:00:00>
Læs mere: Brug af dateutil til at parse datoer.
Konverter liste over strengdatoer til DateTime vha datetime.strptime()
Vi kan konvertere en liste over strengdatoer til et DateTime-objekt vha datetime.strptime() . Pythons datetime.strptime()-metode giver os mulighed for at parse en datostreng med et specificeret 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())> |
>
find i streng c++
>
Produktion:
2021-05-25 2020-05-25 2019-02-15 1999-02-04>
Fejlfinding af strptime()-fejl
strptime() vil give dig ValueError, hvis inputstrengen ikke kan parses i det givne format.
Du kan prøve 'prøv og undtag'-blokke for at finde den mulige løsning 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)> |
>
>Produktion
Error: day is out of range for month>
Vi har dækket forskellige metoder til at konvertere strengen datostrengen til DateTime-format i Python. DateTime-format i Python er meget nyttigt, når du arbejder på data som datoer som at finde antallet af dage mellem 2 datoer.
Det er meget vigtigt at holde datoer i DateTime-format, hvis du skal udføre operationer på dato. Tolken vil behandle åååå-mm-dd som en streng, hvis du ikke ændrer den, hvilket gør det umuligt at udføre DatoTime operation på det.
Lignende læsninger:
- Konverter streng til DateTime og omvendt i Python
- Manipuler dato og tid med Datetime-modulet
- Opret Python Datetime fra streng
- Arbejde med Datetime-objekter og tidszoner i Python