En almindelig nødvendighed i mange programmeringsapplikationer er at håndtere datoer og tidspunkter. Python har stærke værktøjer og pakker, der forenkler håndteringen af dato- og tidskonverteringer. Denne artikel vil undersøge, hvordan man effektivt manipulerer og formaterer dato- og tidsværdier Python ved at konvertere Strenge til Datotid genstande og tilbage. Vi vil dække artiklen i to dele:
- Python Konverter streng til DateTime
- Python Konverter Datetime til String
Hvordan konverteres streng til DateTime?
I Python kan brugere nogle gange indtaste en dato som en streng, på grund af hvilken vi ikke kan udføre dato-tids-operationer på den. Operationer som tidsforskel, datosammenligning, arbejde med tidszoner osv. kan ikke udføres på strengdatoer.
np.argmax
Lad os se processen med at konvertere strenge til datoer med to metoder.
Input: Dec 4 2018 10:07 AM Output: 2018-12-04 10:07:00 Explanation: In this, we are converting the string to Date Time.>
1. Konverter streng til Datetime ved hjælp af Datetime.Strptime()
Det Strptime() findes i dato tid modul og bruges til dato-tid konvertering. Denne funktion ændrer det givne streng af Datetime til det ønskede format.
Eksempel: Programmet definerer en funktion, der konverterer dato og klokkeslæt repræsenteret som en streng til en dato og klokkeslæt objekt ved hjælp af det ønskede format. Konverteringen udføres ved hjælp af metoden datetime.strptime().
Python3
import> datetime> > # Function to convert string to datetime> def> convert(date_time):> >format> => '%b %d %Y %I:%M%p'> >datetime_str>=> datetime.datetime.strptime(date_time,>format>)> > >return> datetime_str> > date_time>=> 'Dec 4 2018 10:07AM'> print>(convert(date_time))> print>(>type>(convert(date_time)))> |
>
>
Produktion:
2018-12-04 10:07:00 )>
2. Konverter streng til Datetime vha Dateutil modul
Det Dateutil er et tredjepartsmodul. Dateutil-modulet understøtter parsing af datoer i ethvert strengformat. Interne fakta om aktuelle verdenstidszoner leveres af dette modul. Parse() kan konvertere en Python-streng til dato-tidsformat. Den eneste anvendte parameter er strengen.
Eksempel: Programmet importerer dateutil-bibliotekets parsermodul til konvertering streng til dato og klokkeslæt som har en funktion til at parse dato- og tidsstrenge. Funktionen Parser.parse() genkender formatet automatisk, hvilket transformerer strengen 23. juni 2022 19:31 til et DateTime-objekt.
Python3
from> dateutil>import> parser> > DT>=> parser.parse(>'Jun 23 2022 07:31PM'>)> > print>(DT)> print>(>type>(DT))> |
>
>
Produktion:
2022-06-23 19:31:00>
Læs mere: Opret Python Datetime fra streng
Hvordan konverteres Datetime til String?
Du kan også konvertere en DateTime til en streng til forskellige formål som rapportering, tilpasset formatering eller formatering til visning. Lad os se forskellige metoder til at konvertere datetime til streng.
Input: 2018-12-04 10:07:00 Output: Dec 4 2018 10:07:00AM Explanation: In this, we are converting the datetime format to the string>
1. Konverter Datetime til String u syng Time.strftime()
Python strftime() funktion er til stede i dato tid modul til at oprette en strengrepræsentation baseret på den angivne formatstreng. Vi bruger denne metode til at konvertere datetime til streng i Python.
En anden lignende funktion er tilgængelig i Python-tidsmodulet, som konverterer et tuple- eller struct_time-objekt til en streng som angivet af formatargumentet.
Eksempel: Programmet konverterer Datotid til streng og importerer Python-tidsmodulet, som tilbyder funktioner til håndtering af tidsrelaterede aktiviteter. Funktionen convert() tager en tuple datetime_str som input, transformerer den til et tidsstempel ved hjælp af time.mktime(), og formaterer derefter tidsstemplet til en strengrepræsentation ved hjælp af formatet %b%d%Y%r, der blev leveret.
Python3
import> time> > # Function to convert string to datetime> def> convert(datetime_str):> >datetime_str>=> time.mktime(datetime_str)> >format> => '%b %d %Y %r'> >dateTime>=> time.strftime(>format>, time.gmtime(datetime_str))> >return> dateTime> > date_time>=> (>2018>,>12>,>4>,>10>,>7>,>00>,>1>,>48>,>0>)> print>(convert(date_time))> print>(>type>(convert(date_time)))> |
>
>
Produktion:
Dec 04 2018 04:37:00 AM>
Tidskompleksitet: O(1)
Hjælpeplads: O(1)
Lær mere: Sådan formateres dato ved hjælp af strftime() i Python
2. Konverter Datetime til String ved hjælp af Datetime
Medbring datetime-modulet til konverter datetime til String ved hjælp af den angivne dato og klokkeslæt, og opret et datetime-objekt. Opret en formatstreng, der beskriver formateringskravene for datetime-objektet.
For at oprette en streng i det ønskede format skal du bruge DateTime-objektets strftime()-metode. Formatstrengen er argumentet for strftime()-funktionen.
Eksempel: Programmet importerer datetime-modulet, som giver Python-programmører adgang til klasser til at arbejde med datoer og klokkeslæt. De angivne dato- og tidsværdier, 14. marts 2022, kl. 15:30:00, bruges til at generere et datetime-objekt. Datetime-objektet transformeres til en strengrepræsentation baseret på formatstrengen ved hjælp af strftime()-metoden.
Python3
hvilket år computeren blev opfundet
import> datetime> > datetime_object>=> datetime.datetime(>2022>,>3>,>14>,>15>,>30>,>0>)> > format_string>=> '%Y-%m-%d %H:%M:%S'> > # Convert the datetime object to a string in the specified format> date_string>=> datetime_object.strftime(format_string)> > print>(date_string)> print>(>type>(date_string))> |
>
>
Produktion:
2022-03-14 15:30:00>
Tidskompleksitet: O(1)
Hjælpeplads: O(1)
I denne artikel har vi dækket metoderne til at konvertere streng til datetime og omvendt. Konvertering af datetime til strenge eller omvendt kan være meget nyttigt og praktisk i programmering. Du kan bruge disse metoder til at konvertere datetime til strenge eller omvendt.
Læs også:
- Konvertering af streng 'åååå-mm-dd' til DateTime i Python
- Sådan konverteres datetime til dato i Python