logo

Convertiți șirul în DateTime și invers în Python

O necesitate comună în multe aplicații de programare este să se ocupe de date și ore. Python are instrumente și pachete puternice care simplifică gestionarea conversiilor de dată și oră. Acest articol va examina cum să manipulați și să formatați în mod eficient valorile datei și orei în Piton prin conversie Șiruri de caractere pentru Datetime obiecte și spate. Vom acoperi articolul în două părți:

  • Python Convert șirul în DateTime
  • Python Convertește data și ora în șir

Cum se convertesc șirul în DateTime?

În Python, utilizatorii pot introduce uneori o dată ca șir, din cauza căruia nu putem efectua operațiuni de dată-oră pe ea. Operațiuni precum diferența de timp, compararea datei, lucrul cu fusurile orare etc. nu pot fi efectuate pe date șir.



sistem de operare linux

Să vedem procesul de conversie a șirurilor de caractere în date cu două metode.

  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. Convertiți String în Datetime folosind Datetime.Strptime()

The Strptime() este disponibil în datetime modul și este utilizat pentru conversia dată-oră. Această funcție modifică data șir de Datetime în formatul dorit.

Exemplu: Programul definește o funcție care convertește data și ora reprezentate ca a șir la o dată și oră obiect folosind formatul dorit. Conversia se realizează folosind metoda 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)))>

>

>

Ieșire:

2018-12-04 10:07:00 )>

2. Convertiți String în Datetime Utilizând Modulul Dateutil

The Dateutil este un modul terță parte. Modulul Dateutil acceptă analizarea datelor în orice format de șir. Informații interne despre fusurile orare mondiale actuale sunt furnizate de acest modul. Analiza() poate converti un șir Python în format dată-oră. Singurul parametru folosit este șirul.

Exemplu: Programul importă modulul de analiză al bibliotecii dateutil pentru conversie șir la datetime care are o funcție pentru analizarea șirurilor de dată și oră. Funcția Parser.parse() recunoaște automat formatul, care transformă șirul 23 iunie 2022 07:31 PM într-un obiect DateTime.

Python3




from> dateutil>import> parser> > DT>=> parser.parse(>'Jun 23 2022 07:31PM'>)> > print>(DT)> print>(>type>(DT))>

>

>

Ieșire:

2022-06-23 19:31:00>

Citeşte mai mult: Creați Python Datetime din șir

Cum se convertesc Datetime în șir?

De asemenea, puteți converti un DateTime într-un șir pentru diverse scopuri, cum ar fi raportare, formatare personalizată sau formatare pentru afișare. Să vedem diferite metode de a converti data și oră în șir.

  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. Convertiți Datetime în șir u cânta Time.strftime()

Piton strftime() funcția este prezentă în datetime modul pentru a crea o reprezentare de șir bazată pe șirul de format specificat. Folosim această metodă pentru a converti datetime la șir în Python.

O altă funcție similară este disponibilă în modulul de timp Python, care convertește un obiect tuple sau struct_time într-un șir, așa cum este specificat de argumentul format.

Exemplu: Programul convertiți Datetime la String și importă modulul de timp Python, care oferă funcții pentru gestionarea activităților legate de timp. Funcția convert() ia ca intrare un tuplu datetime_str, îl transformă într-un timestamp folosind time.mktime(), apoi formatează timestamp-ul într-o reprezentare șir folosind formatul %b%d%Y%r care a fost furnizat.

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

>

>

Ieșire:

Dec 04 2018 04:37:00 AM>

Complexitatea timpului: O(1)
Spațiu auxiliar: O(1)

Află mai multe: Cum se formatează data folosind strftime() în Python

2. Convertiți Datetime în șir folosind Datetime

Aduceți modulul datetime la convertiți data și ora în șir folosind data și ora specificate și creați un obiect datetime. Creați un șir de format care conturează cerințele de formatare pentru obiectul datetime.

Pentru a crea un șir în formatul dorit, utilizați metoda strftime() a obiectului DateTime. Șirul de format este argumentul pentru funcția strftime().

Exemplu: Programul importă modulul datetime, care oferă programatorilor Python acces la clase pentru a lucra cu date și ore. Valorile date și oră furnizate, 14 martie 2022, la 15:30:00, sunt folosite pentru a genera un obiect datetime. Obiectul datetime este transformat într-o reprezentare șir bazată pe șirul de format folosind metoda strftime().

Python3

char și int java




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

>

>

Ieșire:

2022-03-14 15:30:00>

Complexitatea timpului: O(1)
Spațiu auxiliar: O(1)

În acest articol, am acoperit metodele de conversie a șirului în datetime și invers. Conversia datetime în șiruri de caractere sau invers poate fi foarte utilă și convenabilă în programare. Puteți folosi aceste metode pentru a converti data și ora în șiruri de caractere sau invers.

Citește și: