Python strftime () - datum i vrijeme za nizanje

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

Kako funkcionira strftime ()?

U gore navedenom programu %Y, %m, %ditd su formata kodovi. strftime()Metoda uzima jedan ili više formata kodove kao argument i vraća formatiran string na temelju njega.

  1. Uvezli smo datetimeklasu iz datetimemodula. To je zato što objekt datetimeklase može pristupiti strftime()metodi.
  2. datetimeObjekt sadrži datum i vrijeme pohranjuju se u sada promjenjiva.
  3. strftime()Metoda se može koristiti za stvaranje formatiran žice.
  4. 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, %xa %Xkoriste se za locale-a točan datum i vrijeme reprezentacije.

Također vam preporučujemo da provjerite Python strptime (). strptime()Metoda stvara datetimeobjekt iz niza.

Zanimljivi članci...