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í datetime
objekt 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 datetime
objekt.
Jak strftime () funguje?
Ve výše uvedeném programu %Y
, %m
, %d
atd. 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.
- Importovali jsme
datetime
třídu zdatetime
modulu. Je to proto, že objektdatetime
třídy může přistupovat kstrftime()
metodě. datetime
Objekt obsahující aktuální datum a čas je uložen v nyní variabilní.strftime()
Metoda může být použita k vytvoření formátované řetězce.- Ř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
, %x
a %X
jsou určeny pro příslušné datum a čas reprezentace locale.
Doporučujeme také zkontrolovat Python strptime (). strptime()
Metoda vytvoří datetime
objekt z řetězce.