Š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 datetime
objektu, 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 datetime
objekts.
Kā darbojas strftime ()?
Iepriekš programmā %Y
, %m
, %d
utt formāta kodi. strftime()
Metode ņem vienu vai vairākus formāta kodus kā argumentu un atgriež formatēta virkne, pamatojoties uz to.
- Mēs importējām
datetime
klasi nodatetime
moduļa. Tas ir tāpēc, kadatetime
klases objekts var piekļūtstrftime()
metodei. datetime
Objekts, kurā pašreizējo datumu un laiku tiek saglabāta šobrīd mainīgs.strftime()
Metodi var izmantot, lai izveidotu formatēts virknes.- 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
, %x
un %X
tiek 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 datetime
objektu no virknes.