Python strftime () - datuma laiks virknei

Šajā rakstā jūs iemācīsities konvertēt datuma, laika un datuma objektus līdzvērtīgā virknē (ar piemēru palīdzību)

strftime()Metode atgriež virkni pārstāv datumu un laiku, izmantojot datumu, laiku vai DATETIME objektu.

1. piemērs: datuma laiks virknei, izmantojot strftime ()

Zemāk esošā programma pārveido datetimeobjektu, kas satur pašreizējo datumu un laiku, dažādos virkņu formātos.

  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) 

Palaidot programmu, izvade būs kaut kas līdzīgs:

 gads: 2018 mēnesis: 12 diena: 24 laiks: 04:59:31 datums un laiks: 24.12.2018., 04:59:31 

Šeit gads, diena, laiks un datums_laiks ir virknes, turpretī tagad tas ir datetimeobjekts.

Kā darbojas strftime ()?

Iepriekš programmā %Y, %m, %dutt formāta kodi. strftime()Metode ņem vienu vai vairākus formāta kodus kā argumentu un atgriež formatēta virkne, pamatojoties uz to.

  1. Mēs importējām datetimeklasi no datetimemoduļa. Tas ir tāpēc, ka datetimeklases objekts var piekļūt strftime()metodei.
  2. datetimeObjekts, kurā pašreizējo datumu un laiku tiek saglabāta šobrīd mainīgs.
  3. strftime()Metodi var izmantot, lai izveidotu formatēts virknes.
  4. Virknē, kuru nododat strftime()metodei, var būt vairāki formāta kodi.

2. piemērs: virknes izveide no laika zīmoga

  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) 

Palaidot programmu, izeja būs:

 Datuma un laika objekts: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM 

Formatēt kodu sarakstu

Zemāk esošajā tabulā ir parādīti visi kodi, kurus varat nodot strftime()metodei.

Direktīva Nozīme Piemērs
%a Saīsināts darba dienas nosaukums. Sv, pirmdien,…
%A Pilns darba dienas nosaukums. Svētdien, pirmdien,…
%w Nedēļas diena kā decimālskaitlis. 0, 1,…, 6
%d Mēneša diena kā nulles aizpildīta decimāldaļa. 01, 02,…, 31
%-d Mēneša diena kā decimālskaitlis. 1, 2,…, 30
%b Saīsināts mēneša nosaukums. Jan, Feb,…, Dec
%B Pilna mēneša nosaukums. Janvāris Februāris,…
%m Mēnesis kā nulles aizpildīts decimālskaitlis. 01, 02,…, 12
%-m Mēnesis kā decimālskaitlis. 1, 2,…, 12
%y Gads bez gadsimta kā nulles aizpildīts decimālskaitlis. 00, 01,…, 99
%-y Gads bez gadsimta kā decimālskaitlis. 0, 1,…, 99
%Y Gads ar gadsimtu kā decimālskaitli. 2013., 2019. gads utt.
%H Stunda (24 stundu pulkstenis) kā nulles aizpildīts decimālskaitlis. 00, 01,…, 23
%-H Stunda (24 stundu pulkstenis) kā decimālskaitlis. 0, 1,…, 23
%I Stunda (12 stundu pulkstenis) kā nulles aizpildīts decimālskaitlis. 01, 02,…, 12
%-I Stunda (12 stundu pulkstenis) kā decimālskaitlis. 1, 2,… 12
%p Lokalizācijas AM vai PM. AM, PM
%M Minūte kā nulles aizpildīts decimālskaitlis. 00, 01,…, 59
%-M Minūte kā cipars aiz komata. 0, 1,…, 59
%S Otrais kā nulles aizpildīts decimālskaitlis. 00, 01,…, 59
%-S Otrais kā decimālskaitlis. 0, 1,…, 59
%f Mikrosekunde kā decimālskaitlis, pa kreisi aizpildīts ar nulli. 000000 - 999999
%z UTC nobīde formā + HHMM vai -HHMM.
%Z Laika joslas nosaukums.
%j Gada diena kā nulles aizpildīts decimālskaitlis. 001, 002,…, 366
%-j Gada diena kā decimālskaitlis. 1, 2,…, 366
%U Gada nedēļas numurs (svētdiena kā nedēļas pirmā diena). Visas dienas jaunā gadā pirms pirmās svētdienas tiek uzskatītas par 0. nedēļā. 00, 01,…, 53
%W Gada nedēļas numurs (pirmdiena kā nedēļas pirmā diena). Visas dienas jaunā gadā pirms pirmās pirmdienas tiek uzskatītas par 0. nedēļā. 00, 01,…, 53
%c Lokalizācijas atbilstošs datuma un laika attēlojums. Pirmdiena, 30. septembris, 07:06:05, 2013
%x Lokalizācijas atbilstošā datuma attēlojums. 30.09.13
%X Lokalizācijas atbilstošs laika attēlojums. 07:06:05
%% Burtisks '%' raksturs. %

3. piemērs: Lokalizācijas atbilstošais datums un laiks

  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) 

Palaidot programmu, izeja būs:

 1. iznākums: otrdien, 12. jūnijā 09:55:22 2018, 2. iznākums: 12.06.18., 3. iznākums: 09:55:22 

Formāts kodus %c, %xun %Xtiek izmantoti lokalizācijas s piemērotu datumu un laiku pārstāvību.

Mēs iesakām arī pārbaudīt Python strptime (). strptime()Metode rada datetimeobjektu no virknes.

Interesanti raksti...