Převeďte řetězec na DateTime a naopak v Pythonu
Běžnou nutností v mnoha programovacích aplikacích je zabývat se daty a časy. Python má silné nástroje a balíčky, které zjednodušují zpracování převodů data a času. Tento článek prozkoumá, jak efektivně manipulovat a formátovat hodnoty data a času Krajta konverzí Řetězce na datum a čas předměty a zpět. Článek rozdělíme do dvou částí:
- Python Převést řetězec na DateTime
- Python Převeďte datum a čas na řetězec
Jak převést řetězec na DateTime?
V Pythonu mohou uživatelé někdy zadat datum jako řetězec, kvůli kterému s ním nemůžeme provádět operace data a času. Operace jako časový rozdíl, porovnání dat, práce s časovými pásmy atd. nelze provádět s daty řetězce.
Podívejme se na proces převodu řetězců na data dvěma metodami.
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. Převeďte řetězec na Datetime pomocí Datetime.Strptime()
The Strptime() je k dispozici v čas schůzky modul a používá se pro konverzi data a času. Tato funkce mění dané řetězec Datetime do požadovaného formátu.
Příklad: Program definuje funkci, která převádí datum a čas reprezentovaný jako a řetězec na datum a čas objekt pomocí požadovaného formátu. Konverze se provádí pomocí metody 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ýstup:
2018-12-04 10:07:00 )
2. Převeďte řetězec na datum a čas pomocí Modul Dateutil
The Dateutil je modul třetí strany. Modul Dateutil podporuje analýzu dat v libovolném formátu řetězce. Tento modul poskytuje interní fakta o aktuálních světových časových pásmech. Parse() dokáže převést řetězec Pythonu do formátu data a času. Jediný použitý parametr je řetězec.
Příklad: Program importuje modul parser knihovny dateutil pro konverzi řetězec na datum a čas který má funkci pro analýzu řetězců data a času. Funkce Parser.parse() automaticky rozpozná formát a transformuje řetězec 23. června 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ýstup:
2022-06-23 19:31:00
Přečtěte si více: Vytvořte Python Datetime z řetězce
Jak převést datum a čas na řetězec?
DateTime můžete také převést na řetězec pro různé účely, jako je vytváření sestav, vlastní formátování nebo formátování pro zobrazení. Podívejme se na různé metody převodu data a času na řetězec.
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. Převeďte datum a čas na řetězec u sing Time.strftime()
Krajta strftime() funkce je přítomna v čas schůzky modul k vytvoření řetězcové reprezentace založené na zadaném formátovacím řetězci. Tuto metodu používáme k převodu datetime do řetězce v Pythonu.
Další podobná funkce je dostupná v časovém modulu Pythonu, který převádí objekt n-tice nebo struct_time na řetězec, jak je určeno argumentem format.
Příklad: Program konvertuje Datetime to String a importuje časový modul Pythonu, který nabízí funkce pro zpracování činností souvisejících s časem. Funkce convert() bere jako vstup n-tici datetime_str, transformuje ji na časové razítko pomocí time.mktime() a poté zformátuje časové razítko do řetězcové reprezentace pomocí 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ýstup:
Dec 04 2018 04:37:00 AM
Časová náročnost: O(1)
Pomocný prostor: O(1)
Další informace: Jak formátovat datum pomocí strftime() v Pythonu
2. Převeďte datum a čas na řetězec pomocí Datetime
Přeneste modul datetime do převést datum a čas na řetězec pomocí zadaného data a času a vytvořte objekt datetime. Vytvořte formátovací řetězec, který popisuje požadavky na formátování pro objekt datetime.
Chcete-li vytvořit řetězec v požadovaném formátu, použijte metodu strftime() objektu DateTime. Formátovací řetězec je argumentem pro funkci strftime().
Příklad: Program importuje modul datetime, který dává programátorům Pythonu přístup ke třídám pro práci s daty a časy. Zadané hodnoty data a času, 14. března 2022, v 15:30:00, se používají ke generování objektu datetime. Objekt datetime je transformován do řetězcové reprezentace založené na formátovacím řetězci pomocí metody 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ýstup:
2022-03-14 15:30:00
Časová náročnost: O(1)
Pomocný prostor: O(1)
V tomto článku jsme se zabývali metodami převodu řetězce na datum a čas a naopak. Převod data a času na řetězce nebo naopak může být v Programování velmi užitečný a pohodlný. Tyto metody můžete použít k převodu data a času na řetězce nebo naopak.
Přečtěte si také: