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 datetime
objekti.
Ü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 ()