Python strptime () - niz do predmeta datetime

V tem članku se boste naučili ustvariti predmet datuma in časa iz niza (s pomočjo primerov).

strptime()Metoda ustvarja datetime predmet iz danega niza.

Opomba:datetime Objekta ni mogoče ustvariti iz vsakega niza. Niz mora biti v določeni obliki.

Primer 1: niz do predmeta datetime

  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)) 

Ko zaženete program, bo rezultat:

 date_string = 21. junij 2018 vrsta date_string = date_object = 2018-06-21 00:00:00 vrsta date_object = 

Kako deluje strptime ()?

Metoda strptime()razreda ima dva argumenta:

  • niz (ki se pretvori v datum in čas)
  • koda formata

Na podlagi uporabljene kode niza in oblike metoda vrne enakovreden datetimeobjekt.

V zgornjem primeru:

Tukaj,

  • %d- Predstavlja dan v mesecu. Primer: 01, 02,…, 31
  • %B- Ime meseca v celoti. Primer: januar, februar itd.
  • %Y- Leto s štirimestnimi številkami. Primer: 2018, 2019 itd.

Primer 2: niz za objekt datum-čas

  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) 

Ko zaženete program, bo rezultat:

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

Oblikuj seznam kod

Spodnja tabela prikazuje vse oblike kod, ki jih lahko uporabite.

Direktive Pomen Primer
%a Skrajšano ime delavnika. Sonce, pon…
%A Polno ime delavnika. Nedelja, ponedeljek,…
%w Delovni dan kot decimalno število. 0, 1,…, 6
%d Dan v mesecu kot decimalno ničlo. 01, 02, …, 31
%-d Dan v mesecu kot decimalno število. 1, 2,…, 30
%b Skrajšano ime meseca. Januar, februar,…, december
%B Polno mesečno ime. Januar februar,…
%m Mesec kot ničlo podstavljeno decimalno število. 01, 02,…, 12
%-m Mesec kot decimalno število. 1, 2,…, 12
%y Leto brez stoletja kot nič oblazinjeno decimalno število. 00, 01,…, 99
%-y Leto brez stoletja kot decimalno število. 0, 1,…, 99
%Y Leto s stoletjem kot decimalno število. 2013, 2019 itd.
%H Ura (24-urna ura) kot decimalno število, oblazinjeno z ničlo. 00, 01,…, 23
%-H Ura (24-urna ura) kot decimalno število. 0, 1,…, 23
%I Ura (12-urna ura) kot decimalno število, oblazinjeno z ničlo. 01, 02,…, 12
%-I Ura (12-urna ura) kot decimalno število. 1, 2,… 12
%p Lokalni AM ali PM. DOPOLDNE POPOLDNE
%M Minuta kot decimalno število, podloženo z ničlo. 00, 01,…, 59
%-M Minuta kot decimalno število. 0, 1,…, 59
%S Drugič kot decimalno število, podloženo z ničlo. 00, 01,…, 59
%-S Drugi kot decimalno število. 0, 1,…, 59
%f Mikrosekunda kot decimalno število, levo oblazinjeno. 000000 - 999999
%z UTC odmik v obliki + HHMM ali -HHMM.
%Z Ime časovnega pasu.
%j Dan v letu kot decimalno število, podloženo z ničlo. 001, 002,…, 366
%-j Dan v letu kot decimalno število. 1, 2,…, 366
%U Številka tedna v letu (nedelja kot prvi dan v tednu). Vsi dnevi v novem letu pred prvo nedeljo se štejejo za 0. teden. 00, 01,…, 53
%W Številka tedna v letu (ponedeljek kot prvi dan v tednu). Vsi dnevi v novem letu pred prvim ponedeljkom se štejejo za 0. teden. 00, 01,…, 53
%c Primerna predstavitev datuma in ure v kraju. Ponedeljek, 30. september 07:06:05 2013
%x Localeova ustrezna predstavitev datuma. 30.9.13
%X Localeova ustrezna časovna predstavitev. 07:06:05
%% Dobesedni znak '%'. %

ValueError v strptime ()

Če se niz (prvi argument) in koda oblike (drugi argument), ki sta posredovana strptime()ne, ne ujemata, boste dobili ValueError. Na primer:

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

Če zaženete ta program, se prikaže napaka.

 ValueError: časovni podatki '12 / 11/2018 'se ne ujemajo z obliko'% d% m% Y ' 

Priporočena branja: Python strftime ()

Zanimive Članki...