Š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.
- Mēs importējām
datetimeklasi nodatetimemoduļa. Tas ir tāpēc, kadatetimeklases objekts var piekļūtstrftime()metodei.
datetimeObjekts, 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, %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.








