Pythoni strptime () - string kuupäevaaja objektini

Selles artiklis õpitakse stringist kuupäevaobjekti looma (näidete abil).

strptime()Meetod loob datetime objekti antud string.

Märkusdatetime . Igast stringist ei saa objekti luua . String peab olema kindlas vormingus.

Näide 1: string kuupäevaaja objektini

  from datetime import datetime date_string = "21 June, 2018" print("date_string =", date_string) print("type of date_string =", type(date_string)) date_object = datetime.strptime(date_string, "%d %B, %Y") print("date_object =", date_object) print("type of date_object =", type(date_object)) 

Programmi käivitamisel on väljund järgmine:

 date_string = 21. juuni 2018 date_string tüüp = date_object = 2018-06-21 00:00:00 date_object tüüp = 

Kuidas strptime () töötab?

strptime()Klassi meetodit saab kaht argumenti:

  • string (teisendatakse kuupäevaajaks)
  • vormingu kood

Kasutatava stringi ja vormingukoodi põhjal tagastab meetod samaväärse datetimeobjekti.

Ülaltoodud näites:

Siin,

  • %d- esindab kuu päeva. Näide: 01, 02,…, 31
  • %B- Kuu nimi täielikult. Näide: jaanuar, veebruar jne.
  • %Y- Aasta neljakohalisena. Näide: 2018, 2019 jne

Näide 2: string kuupäevaaja objektini

  from datetime import datetime dt_string = "12/11/2018 09:15:32" # Considering date is in dd/mm/yyyy format dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print("dt_object1 =", dt_object1) # Considering date is in mm/dd/yyyy format dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S") print("dt_object2 =", dt_object2) 

Programmi käivitamisel on väljund järgmine:

 dt_object1 = 2018-11-12 09:15:32 dt_object2 = 2018-12-11 09:15:32 

Vormindage koodide loend

Allolevas tabelis on näidatud kõik vormingukoodid, mida saate kasutada.

Direktiiv Tähendus Näide
%a Lühendatud nädalapäeva nimi. P, E,…
%A Täisnädala nimi. Pühapäev esmaspäev,…
%w Nädalapäev kümnendarvuna. 0, 1,…, 6
%d Kuu päev null-täidisega kümnendkohana. 01, 02,…, 31
%-d Kuu päev kümnendarvuna. 1, 2,…, 30
%b Lühendatud kuu nimi. Jaan, veebr,…, dets
%B Kogu kuu nimi. Jaanuar veebruar,…
%m Kuu nulliga täidetud kümnendarvuna. 01, 02,…, 12
%-m Kuu kümnendarvuna. 1, 2,…, 12
%y Sajandita aasta nullpolsterdatud kümnendarvuna. 00, 01,…, 99
%-y Aasta ilma kümnendarvuta sajandita. 0, 1,…, 99
%Y Aasta koos kümnendarvuna sajandiga. 2013, 2019 jne
%H Tund (24-tunnine kell) nulliga täidetud kümnendarvuna. 00, 01,…, 23
%-H Tund (24-tunnine kell) kümnendarvuna. 0, 1,…, 23
%I Tund (12-tunnine kell) nulliga täidetud kümnendarvuna. 01, 02,…, 12
%-I Tund (12-tunnine kell) kümnendarvuna. 1, 2,… 12
%p Lokaadi AM või PM. AM, PM
%M Minut nulliga täidetud kümnendarvuna. 00, 01,…, 59
%-M Kümnendarvuna minut. 0, 1,…, 59
%S Teiseks nulliga täidetud kümnendarvuna. 00, 01,…, 59
%-S Kümnendarvuna teine. 0, 1,…, 59
%f Mikrosekund kümnendarvuna, vasakul nullpolsterdatud. 000000 - 999999
%z UTC nihe kujul + HHMM või -HHMM.
%Z Ajavööndi nimi.
%j Aasta päev nullpolsterdatud kümnendarvuna. 001, 002,…, 366
%-j Aasta päev kümnendarvuna. 1, 2,…, 366
%U Aasta nädala number (pühapäev kui nädala esimene päev). Esimesele pühapäevale eelneva uue aasta kõik päevad loetakse 0. nädalaks. 00, 01,…, 53
%W Aasta nädala number (esmaspäev kui nädala esimene päev). Esimesele esmaspäevale eelneva uue aasta kõik päevad loetakse 0. nädalaks. 00, 01,…, 53
%c Lokaadi sobiv kuupäeva ja kellaaja esitus. Esmaspäev 30. september 07:06:05 2013
%x Lokaadi sobiv kuupäeva esitus. 30.09.13
%X Lokaadi sobiv ajaline esitus. 07:06:05
%% Sõnasõnaline '%' märk. %

ValueError strptime'is ()

Kui string (esimene argument) ja vormingukood (teine ​​argument) edastatakse, strptime()ei ühti, saate ValueError. Näiteks:

  from datetime import datetime date_string = "12/11/2018" date_object = datetime.strptime(date_string, "%d %m %Y") print("date_object =", date_object) 

Selle programmi käivitamisel kuvatakse tõrge.

 ValueError: ajaandmed '12 / 11/2018 'ei ühti vorminguga'% d% m% Y ' 

Soovitatavad lugemid: Pythoni strftime ()

Huvitavad Artiklid...