Python strftime () - datetime na řetězec

V tomto článku se naučíte převádět objekty data, času a datetime na ekvivalentní řetězec (pomocí příkladů)

strftime()Metoda vrátí řetězec představující datum a čas pomocí datum, čas nebo datetime objekt.

Příklad 1: datetime k řetězci pomocí strftime ()

Níže uvedený program převádí datetimeobjekt obsahující aktuální datum a čas do různých formátů řetězců.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

Když spustíte program, výstup bude něco jako:

 rok: 2018 měsíc: 12 den: 24 čas: 04:59:31 datum a čas: 12/24/2018, 04:59:31 

Zde jsou rok, den, čas a date_time řetězce, zatímco nyní je datetimeobjekt.

Jak strftime () funguje?

Ve výše uvedeném programu %Y, %m, %datd. Jsou ve formátu kódy. strftime()Metoda přebírá jeden nebo více kódy formátu jako argument a vrátí formátovaný řetězec na něm založených.

  1. Importovali jsme datetimetřídu z datetimemodulu. Je to proto, že objekt datetimetřídy může přistupovat k strftime()metodě.
  2. datetimeObjekt obsahující aktuální datum a čas je uložen v nyní variabilní.
  3. strftime()Metoda může být použita k vytvoření formátované řetězce.
  4. Řetězec, který předáte strftime()metodě, může obsahovat více než jeden kód formátu.

Příklad 2: Vytvoření řetězce z časového razítka

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

Když spustíte program, výstup bude:

 Datum a čas objekt: 2018-06-12 09:55:22 Výstup 2: 06/12/2018, 09:55:22 Výstup 3:12 červen, 2018 Výstup 4: 12 červen, 2018 Výstup 5: 09AM 

Formátovat seznam kódů

V tabulce níže jsou uvedeny všechny kódy, které můžete předat strftime()metodě.

Směrnice Význam Příklad
%a Zkrácený název dne v týdnu. Ne, Po, …
%A Celý název dne v týdnu. Neděle pondělí,…
%w Den v týdnu jako desetinné číslo. 0, 1,…, 6
%d Den měsíce jako desetinné čárky. 01, 02,…, 31
%-d Den v měsíci jako desetinné číslo. 1, 2,…, 30
%b Zkrácený název měsíce. Leden, únor,…, prosinec
%B Celé jméno měsíce. Leden únor,…
%m Měsíc jako desetinné číslo doplněné nulou. 01, 02,…, 12
%-m Měsíc jako desetinné číslo. 1, 2,…, 12
%y Rok bez století jako nulové desetinné číslo. 00, 01,…, 99
%-y Rok bez století jako desetinné číslo. 0, 1,…, 99
%Y Rok se stoletím jako desetinné číslo. 2013, 2019 atd.
%H Hour (24-hour clock) as a zero-padded decimal number. 00, 01,…, 23
%-H Hodina (24hodinový formát) jako desetinné číslo. 0, 1,…, 23
%I Hodina (12hodinový formát) jako nulové desetinné číslo. 01, 02,…, 12
%-I Hodina (12hodinový formát) jako desetinné číslo. 1, 2,… 12
%p Místní nebo dopolední čas. DOPOLEDNE ODPOLEDNE
%M Minuta jako desetinné číslo doplněné nulou. 00, 01,…, 59
%-M Minuta jako desetinné číslo. 0, 1,…, 59
%S Druhé jako nulové desetinné číslo. 00, 01,…, 59
%-S Druhý jako desetinné číslo. 0, 1,…, 59
%f Mikrosekunda jako desítkové číslo, s nulovým polstrováním vlevo. 000000 - 999999
%z Offset UTC ve tvaru + HHMM nebo -HHMM.
%Z Název časového pásma.
%j Den v roce jako nulové číslo. 001, 002,…, 366
%-j Den v roce jako desetinné číslo. 1, 2,…, 366
%U Číslo týdne v roce (neděle jako první den v týdnu). Všechny dny nového roku předcházející první neděli se považují za dny 0. 00, 01,…, 53
%W Číslo týdne v roce (pondělí jako první den v týdnu). Všechny dny nového roku předcházejícího prvnímu pondělí se považují za dny 0. 00, 01,…, 53
%c Vhodná reprezentace data a času podle národního prostředí. Po 30. září 07:06:05 2013
%x Vhodná reprezentace data podle národního prostředí. 30.09.13
%X Vhodná časová reprezentace národního prostředí. 07:06:05
%% Doslovný znak '%'. %

Příklad 3: Příslušné datum a čas podle národního prostředí

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

Když spustíte program, výstup bude:

 Výstup 1: Út 12. června 09:55:22 2018 Výstup 2: 06/12/18 Výstup 3: 09:55:22 

Formátovat kódy %c, %xa %Xjsou určeny pro příslušné datum a čas reprezentace locale.

Doporučujeme také zkontrolovat Python strptime (). strptime()Metoda vytvoří datetimeobjekt z řetězce.

Zajímavé články...