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ž: