V tomto článku sa naučíte prevádzať objekty dátumu, času a datetime na ekvivalentný reťazec (pomocou príkladov)
strftime()
Metóda vráti reťazec predstavujúci dátum a čas pomocou dátum, čas alebo datetime objekt.
Príklad 1: dátum a čas na reťazec pomocou strftime ()
Program uvedený nižšie prevádza datetime
objekt obsahujúci aktuálny dátum a čas do rôznych formátov reťazcov.
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)
Keď spustíte program, výstup bude asi ako:
rok: 2018 mesiac: 12 deň: 24 čas: 04:59:31 dátum a čas: 24/12/2018, 04:59:31
Tu sú rok, deň, čas a dátum a čas reťazce, zatiaľ čo teraz je datetime
objekt.
Ako funguje strftime ()?
Vo vyššie uvedenom programe %Y
, %m
, %d
atď. Sú vo formáte kódy. strftime()
Metóda preberá jeden alebo viac kódy formáte ako argument a vráti formátovaný reťazec na ňom založených.
- Importovali sme
datetime
triedu zdatetime
modulu. Je to preto, lebo objektdatetime
triedy má prístup kstrftime()
metóde. datetime
Objekt obsahujúci aktuálny dátum a čas je uložený v teraz variabilný.strftime()
Metóda môže byť použitá na vytvorenie formátované reťazca.- Reťazec, ktorý odovzdáte
strftime()
metóde, môže obsahovať viac ako jeden kód formátu.
Príklad 2: Vytvorenie reťazca z časovej pečiatky
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)
Po spustení programu bude výstup:
Dátum a čas objekt: 2018-06-12 09:55:22 Výstup 2: 06/12/2018, 09:55:22 Výstup 3:12 jún, 2018 Výstup 4: 12 júna, 2018 Výstup 5: 09AM
Formátovať zoznam kódov
Nasledujúca tabuľka zobrazuje všetky kódy, ktoré môžete odovzdať strftime()
metóde.
Smernice | Význam | Príklad |
%a | Skrátený názov dňa v týždni. | Ne, Po, … |
%A | Celý názov dňa v týždni. | Nedeľa pondelok,… |
%w | Deň v týždni ako desatinné číslo. | 0, 1, …, 6 |
%d | Deň v mesiaci ako desatinné miesto doplnené nulou. | 01, 02, …, 31 |
%-d | Deň v mesiaci ako desatinné číslo. | 1, 2, …, 30 |
%b | Skrátený názov mesiaca. | Jan, Feb, …, Dec |
%B | Celý mesiac. | Január február,… |
%m | Mesiac ako desatinné číslo doplnené nulou. | 01, 02, …, 12 |
%-m | Mesiac ako desatinné číslo. | 1, 2, …, 12 |
%y | Rok bez storočia ako desatinné číslo s nulou. | 00, 01, …, 99 |
%-y | Rok bez storočia ako desatinné číslo. | 0, 1, …, 99 |
%Y | Rok so storočím ako desatinné číslo. | 2013, 2019 atď. |
%H | Hodina (24-hodinový formát) ako desatinné číslo doplnené nulou. | 00, 01, …, 23 |
%-H | Hodina (24-hodinový formát) ako desatinné číslo. | 0, 1,…, 23 |
%I | Hodina (12-hodinový formát) ako desatinné číslo doplnené nulou. | 01, 02, …, 12 |
%-I | Hodina (12-hodinový formát) ako desatinné číslo. | 1, 2, … 12 |
%p | Miestny čas je AM alebo PM. | DOPOLUDNIA POPOLUDNÍ |
%M | Minúta ako desatinné číslo doplnené nulou. | 00, 01, …, 59 |
%-M | Minúta ako desatinné číslo. | 0, 1, …, 59 |
%S | Druhé ako desatinné číslo s nulovou čiarkou. | 00, 01, …, 59 |
%-S | Druhé ako desatinné číslo. | 0, 1, …, 59 |
%f | Mikrosekundu ako desatinné číslo, vľavo doplnené nulou. | 000000 - 999999 |
%z | Ofset UTC vo forme + HHMM alebo -HHMM. | |
%Z | Názov časovej zóny. | |
%j | Deň v roku ako desatinné číslo s nulou. | 001, 002, …, 366 |
%-j | Deň v roku ako desatinné číslo. | 1, 2, …, 366 |
%U | Číslo týždňa v roku (nedeľa ako prvý deň v týždni). Všetky dni v novom roku predchádzajúcom prvej nedeli sa považujú za dni 0. | 00, 01, …, 53 |
%W | Číslo týždňa v roku (pondelok ako prvý deň v týždni). Všetky dni v novom roku, ktoré predchádzajú prvému pondelku, sa považujú za dni v 0. týždni. | 00, 01, …, 53 |
%c | Príslušné zastúpenie dátumu a času podľa miestneho nastavenia. | Pon 30. september 07:06:05 2013 |
%x | Príslušné zastúpenie dátumu podľa miestneho nastavenia. | 30.09.2013 |
%X | Vhodná časová reprezentácia miestneho času. | 07:06:05 |
%% | Doslovný znak „%“. | % |
Príklad 3: Príslušný dátum a čas podľa miestneho nastavenia
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)
Po spustení programu bude výstup:
Výstup 1: Utorok 12. júna 09:55:22 2018 Výstup 2: 06/12/18 Výstup 3: 09:55:22
Formátovať kódy %c
, %x
a %X
sú určené pre príslušný dátum a čas reprezentácie locale.
Tiež vám odporúčame skontrolovať Python strptime (). strptime()
Metóda vytvorí datetime
objekt z reťazca.