Preveďte reťazec na DateTime a naopak v Pythone

Bežnou nevyhnutnosťou v mnohých programovacích aplikáciách je práca s dátumami a časmi. Python má silné nástroje a balíky, ktoré zjednodušujú spracovanie konverzií dátumu a času. Tento článok preskúma, ako efektívne manipulovať a formátovať hodnoty dátumu a času Python konvertovaním Reťazce na dátum a čas predmety a chrbát. Článok rozdelíme na dve časti:

  • Python konvertuje reťazec na dátum a čas
  • Python Konvertuje dátum a čas na reťazec

Ako previesť reťazec na dátum a čas?

V Pythone môžu používatelia niekedy zadať dátum ako reťazec, kvôli čomu s ním nemôžeme vykonávať operácie dátum-čas. Operácie ako časový rozdiel, porovnanie dátumov, práca s časovými pásmami atď. nie je možné vykonávať s reťazcovými dátumami.

Pozrime sa na proces prevodu reťazcov na dátumy dvoma metódami.

  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. Preveďte reťazec na Datetime pomocou Datetime.Strptime()

The Strptime() je k dispozícii v Dátum Čas modul a používa sa na konverziu dátumu a času. Táto funkcia mení dané reťazec Datetime do požadovaného formátu.

Príklad: Program definuje funkciu, ktorá konvertuje dátum a čas reprezentovaný ako a reťazec na dátum a čas objekt pomocou požadovaného formátu. Konverzia sa vykonáva pomocou metódy 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)))>

Výkon:

2018-12-04 10:07:00 ) 

2. Preveďte reťazec na dátum a čas pomocou Modul Dateutil

The Dateutil je modul tretej strany. Modul Dateutil podporuje analýzu dátumov v akomkoľvek formáte reťazca. Tento modul poskytuje interné fakty o aktuálnych svetových časových pásmach. Parse() dokáže previesť reťazec Pythonu do formátu dátumu a času. Jediným použitým parametrom je reťazec.

Príklad: Program importuje modul parser knižnice dateutil na konverziu reťazec na dátum a čas ktorý má funkciu na analýzu reťazcov dátumu a času. Funkcia Parser.parse() automaticky rozpozná formát, ktorý transformuje reťazec 23. júna 2022 19:31 na objekt DateTime.

Python3




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

Výkon:

2022-06-23 19:31:00 

Čítaj viac: Vytvorte Python Datetime z reťazca

Ako previesť dátum a čas na reťazec?

Môžete tiež previesť DateTime na reťazec na rôzne účely, ako je vytváranie prehľadov, vlastné formátovanie alebo formátovanie na zobrazenie. Pozrime sa na rôzne spôsoby prevodu dátumu a času na reťazec.

  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. Preveďte dátum a čas na reťazec u sing Time.strftime()

Python strftime() funkcia je prítomná v Dátum Čas modul na vytvorenie reťazcovej reprezentácie na základe zadaného formátovacieho reťazca. Túto metódu používame na konverziu dátum a čas na reťazec v Pythone.

Ďalšia podobná funkcia je dostupná v časovom module Pythonu, ktorý konvertuje objekt n-tice alebo struct_time na reťazec, ako je špecifikované v argumente format.

Príklad: Program konvertuje Dátum a čas do reťazca a importuje časový modul Pythonu, ktorý ponúka funkcie na spracovanie činností súvisiacich s časom. Funkcia convert() berie ako vstup n-ticu datetime_str, transformuje ju na časovú značku pomocou time.mktime() a potom naformátuje časovú značku do reťazcovej reprezentácie pomocou dodaného formátu %b%d%Y%r.

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

Výkon:

Dec 04 2018 04:37:00 AM 

Časová zložitosť: O(1)
Pomocný priestor: O(1)

Uč sa viac: Ako formátovať dátum pomocou strftime() v Pythone

2. Preveďte dátum a čas na reťazec pomocou Datetime

Preneste modul dátumu a času do previesť dátum a čas na reťazec pomocou zadaného dátumu a času a vytvorte objekt datetime. Vytvorte formátovací reťazec, ktorý načrtáva požiadavky na formátovanie pre objekt datetime.

Ak chcete vytvoriť reťazec v požadovanom formáte, použite metódu strftime() objektu DateTime. Formátovací reťazec je argumentom funkcie strftime().

Príklad: Program importuje modul datetime, ktorý dáva programátorom Pythonu prístup k triedam na prácu s dátumami a časmi. Zadané hodnoty dátumu a času, 14. marca 2022, o 15:30:00, sa použijú na vygenerovanie objektu dátumu a času. Objekt datetime sa transformuje na reťazcovú reprezentáciu založenú na formátovacom reťazci pomocou metódy strftime().

Python3




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

Výkon:

2022-03-14 15:30:00 

Časová zložitosť: O(1)
Pomocný priestor: O(1)

V tomto článku sme sa zaoberali metódami prevodu reťazca na dátum a čas a naopak. Konverzia dátumu a času na reťazce alebo naopak môže byť pri programovaní veľmi užitočná a pohodlná. Tieto metódy môžete použiť na konverziu dátumu a času na reťazce alebo naopak.

Prečítajte si tiež: