V tem članku se boste naučili pretvoriti predmete datuma, ure in datuma v enakovreden niz (s pomočjo primerov)
strftime()
Metoda vrne niz, ki predstavlja datum in čas uporabe datum, čas ali datetime predmet.
Primer 1: datetime v niz z uporabo strftime ()
Spodnji program pretvori datetime
objekt, ki vsebuje trenutni datum in uro, v različne oblike nizov.
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)
Ko zaženete program, bo rezultat približno tak:
leto: 2018 mesec: 12 dan: 24 čas: 04:59:31 datum in ura: 24.12.2018, 04:59:31
Tu so leto, dan, ura in datum_časa nizi, zdaj pa je datetime
objekt.
Kako deluje strftime ()?
V zgornjem programu %Y
so %m
, %d
itd. Kode formatov. strftime()
Postopek traja eno ali več oznak formata kot argument in vrne formatiran niz, ki temelji na njem.
- Iz modula smo uvozili
datetime
razreddatetime
. To je zato, ker objektdatetime
razreda lahko dostopa dostrftime()
metode. datetime
Objekt, ki vsebuje trenutni datum in čas, ki je shranjena v zdaj spremenljivka.strftime()
Metoda se lahko uporablja za ustvarjanje urejene nize.- Niz, ki ga posredujete
strftime()
metodi, lahko vsebuje več kot eno kodo oblike.
Primer 2: Ustvarjanje niza iz časovnega žiga
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)
Ko zaženete program, bo rezultat:
Objekt datuma: 2018-06-12 09:55:22 Izhod 2: 06/12/2018, 09:55:22 Izhod 3: 12. junij 2018 Izhod 4: 12. junij 2018 Izhod 5: 09
Oblikuj seznam kod
Spodnja tabela prikazuje vse kode, ki jih lahko posredujete strftime()
metodi.
Direktive | Pomen | Primer |
%a | Skrajšano ime delavnika. | Sonce, pon… |
%A | Polno ime delavnika. | Nedelja, ponedeljek,… |
%w | Delovni dan kot decimalno število. | 0, 1,…, 6 |
%d | Dan v mesecu kot decimalno ničlo. | 01, 02, …, 31 |
%-d | Dan v mesecu kot decimalno število. | 1, 2,…, 30 |
%b | Skrajšano ime meseca. | Januar, februar,…, december |
%B | Polno mesečno ime. | Januar februar,… |
%m | Mesec kot ničlo podstavljeno decimalno število. | 01, 02,…, 12 |
%-m | Mesec kot decimalno število. | 1, 2,…, 12 |
%y | Leto brez stoletja kot nič oblazinjeno decimalno število. | 00, 01,…, 99 |
%-y | Leto brez stoletja kot decimalno število. | 0, 1,…, 99 |
%Y | Leto s stoletjem kot decimalno število. | 2013, 2019 itd. |
%H | Ura (24-urna ura) kot decimalno število, oblazinjeno z ničlo. | 00, 01,…, 23 |
%-H | Ura (24-urna ura) kot decimalno število. | 0, 1,…, 23 |
%I | Ura (12-urna ura) kot decimalno število, oblazinjeno z ničlo. | 01, 02,…, 12 |
%-I | Ura (12-urna ura) kot decimalno število. | 1, 2,… 12 |
%p | Lokalni AM ali PM. | DOPOLDNE POPOLDNE |
%M | Minuta kot decimalno število, podloženo z ničlo. | 00, 01,…, 59 |
%-M | Minuta kot decimalno število. | 0, 1,…, 59 |
%S | Drugič kot decimalno število, podloženo z ničlo. | 00, 01,…, 59 |
%-S | Drugi kot decimalno število. | 0, 1,…, 59 |
%f | Mikrosekunda kot decimalno število, levo oblazinjeno. | 000000 - 999999 |
%z | UTC odmik v obliki + HHMM ali -HHMM. | |
%Z | Ime časovnega pasu. | |
%j | Dan v letu kot decimalno število, podloženo z ničlo. | 001, 002,…, 366 |
%-j | Dan v letu kot decimalno število. | 1, 2,…, 366 |
%U | Številka tedna v letu (nedelja kot prvi dan v tednu). Vsi dnevi v novem letu pred prvo nedeljo se štejejo za 0. teden. | 00, 01,…, 53 |
%W | Številka tedna v letu (ponedeljek kot prvi dan v tednu). Vsi dnevi v novem letu pred prvim ponedeljkom se štejejo za 0. teden. | 00, 01,…, 53 |
%c | Primerna predstavitev datuma in ure v kraju. | Ponedeljek, 30. september 07:06:05 2013 |
%x | Localeova ustrezna predstavitev datuma. | 30.9.13 |
%X | Localeova ustrezna časovna predstavitev. | 07:06:05 |
%% | Dobesedni znak '%'. | % |
Primer 3: Primerni datum in ura kraja
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)
Ko zaženete program, bo rezultat:
Izhod 1: Torek, 12. junij 09:55:22 2018 Izhod 2: 06/12/18 Izhod 3: 09:55:22
Format kode %c
, %x
in %X
se uporabljajo za ustrezni datum in čas zastopanje locale je.
Priporočamo tudi, da preverite strptime Python (). strptime()
Način ustvari datetime
predmet iz niza.