U ovom ćete članku naučiti pretvoriti objekte datuma, vremena i datuma u njihov ekvivalentni niz (uz pomoć primjera)
strftime()
Metoda vraća string koji predstavlja datum i vrijeme pomoću datum, vrijeme ili datum-objekt.
Primjer 1: datum i vrijeme u niz pomoću strftime ()
Program u nastavku pretvara datetime
objekt koji sadrži trenutni datum i vrijeme u različite formate nizova.
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)
Kada pokrenete program, izlaz će biti otprilike:
godina: 2018 mjesec: 12 dan: 24 vrijeme: 04:59:31 datum i vrijeme: 24.12.2018, 04:59:31
Ovdje su godina, dan, vrijeme i datum_ vrijeme nizovi, dok je sada datetime
objekt.
Kako funkcionira strftime ()?
U gore navedenom programu %Y
, %m
, %d
itd su formata kodovi. strftime()
Metoda uzima jedan ili više formata kodove kao argument i vraća formatiran string na temelju njega.
- Uvezli smo
datetime
klasu izdatetime
modula. To je zato što objektdatetime
klase može pristupitistrftime()
metodi. datetime
Objekt sadrži datum i vrijeme pohranjuju se u sada promjenjiva.strftime()
Metoda se može koristiti za stvaranje formatiran žice.- Niz koji proslijedite
strftime()
metodi može sadržavati više od jednog koda formata.
Primjer 2: Stvaranje niza iz vremenske oznake
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)
Kada pokrenete program, izlaz će biti:
Objekt datuma: 2018-06-12 09:55:22 Izlaz 2: 06/12/2018, 09:55:22 Izlaz 3: 12. lipnja 2018. Izlaz 4: 12. lipnja 2018. Izlaz 5: 09AM
Formatiranje popisa kodova
Tablica u nastavku prikazuje sve kodove koje možete proslijediti strftime()
metodi.
Direktiva | Značenje | Primjer |
%a | Skraćeni naziv radnog dana. | Ned, ponedjeljak … |
%A | Puno ime radnog dana. | Nedjelja ponedjeljak,… |
%w | Dan u tjednu kao decimalni broj. | 0, 1,…, 6 |
%d | Dan u mjesecu kao nula-podstavljena decimala. | 01, 02, …, 31 |
%-d | Dan u mjesecu kao decimalni broj. | 1, 2,…, 30 |
%b | Skraćeni naziv mjeseca. | Siječanj, veljača,…, prosinac |
%B | Puno ime mjeseca. | Siječanj veljača,… |
%m | Mjesec kao nulti podstavljeni decimalni broj. | 01, 02,…, 12 |
%-m | Mjesec kao decimalni broj. | 1, 2,…, 12 |
%y | Godina bez stoljeća kao nultom podstavljeni decimalni broj. | 00, 01, …, 99 |
%-y | Godina bez stoljeća kao decimalni broj. | 0, 1,…, 99 |
%Y | Godina sa stoljećem kao decimalnim brojem. | 2013, 2019 itd. |
%H | Sat (24-satni sat) kao decimalni broj podpunjen nulom. | 00, 01, …, 23 |
%-H | Sat (24-satni sat) kao decimalni broj. | 0, 1,…, 23 |
%I | Sat (12-satni sat) kao decimalni broj podpunjen nulom. | 01, 02,…, 12 |
%-I | Sat (12-satni sat) kao decimalni broj. | 1, 2,… 12 |
%p | Lokalno AM ili PM. | PRIJEPODNE POSLJEPODNE |
%M | Minuta kao decimalni broj podpunjen nulom. | 00, 01, …, 59 |
%-M | Minuta kao decimalni broj. | 0, 1,…, 59 |
%S | Drugo kao decimalni broj podpunjen nulom. | 00, 01, …, 59 |
%-S | Drugo kao decimalni broj. | 0, 1,…, 59 |
%f | Mikrosekunda kao decimalni broj, slijepo obložena nulom. | 000000 - 999999 |
%z | UTC pomak u obliku + HHMM ili -HHMM. | |
%Z | Naziv vremenske zone. | |
%j | Dan u godini kao decimalni broj podpunjen nulom. | 001, 002,…, 366 |
%-j | Dan u godini kao decimalni broj. | 1, 2,…, 366 |
%U | Broj tjedna u godini (nedjelja kao prvi dan u tjednu). Svi dani u novoj godini koji prethode prvoj nedjelji smatraju se u tjednu 0. | 00, 01, …, 53 |
%W | Broj tjedna u godini (ponedjeljak kao prvi dan u tjednu). Svi dani u novoj godini koji prethode prvom ponedjeljku smatraju se u tjednu 0. | 00, 01, …, 53 |
%c | Localeov odgovarajući datum i vrijeme. | Ponedjeljak 30. rujna 07:06:05 2013 |
%x | Localeov odgovarajući datumski prikaz. | 30.09.13 |
%X | Localeov odgovarajući vremenski prikaz. | 07:06:05 |
%% | Doslovni znak '%'. | % |
Primjer 3: Odgovarajući datum i vrijeme u lokalnom jeziku
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)
Kada pokrenete program, izlaz će biti:
Izlaz 1: utorak 12. lipnja 09:55:22 2018 Izlaz 2: 06/12/18 Izlaz 3: 09:55:22
Format kodove %c
, %x
a %X
koriste se za locale-a točan datum i vrijeme reprezentacije.
Također vam preporučujemo da provjerite Python strptime (). strptime()
Metoda stvara datetime
objekt iz niza.