logo

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.



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