Python strftime () - dátum a čas na reťazec

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 datetimeobjekt 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 datetimeobjekt.

Ako funguje strftime ()?

Vo vyššie uvedenom programe %Y, %m, %datď. 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.

  1. Importovali sme datetimetriedu z datetimemodulu. Je to preto, lebo objekt datetimetriedy má prístup k strftime()metóde.
  2. datetimeObjekt obsahujúci aktuálny dátum a čas je uložený v teraz variabilný.
  3. strftime()Metóda môže byť použitá na vytvorenie formátované reťazca.
  4. 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, %xa %Xsú 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í datetimeobjekt z reťazca.

Zaujímavé články...