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.
režisér Karan Johar
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.
css první dítě
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é: