Kā Python valodā pārvērst virkni datetime formātā
Datetime objekti ļauj veikt vienkāršus laika aprēķinus, tostarp pievienot vai atņemt intervālus. Stingru pārveidošana datetime objektos ir būtiska, lai precīzi organizētu, analizētu un attēlotu laika datus Python.
Kā Python valodā darbojas stingu pārveidošana datuma un laika formātā?
Python string pārveidošana datetime ietver teksta string, kas ietver datumu un/vai laiku, pārveidošanu datetime objektā. Datetime ir Python datu struktūra, kas paredzēta datuma un laika informācijas apstrādei un pielāgošanai. String pārveidošana datetime bieži ir nepieciešama, lai apstrādātu datuma un laika datus, kas parādās string formātā.
Dati tiek konvertēti formātā, ko var izmantot, lai veiktu aprēķinus, salīdzinātu datus vai formatētu laika informāciju, cita starpā. Metodes izteikumu savienošanai, izmantojot Python string formātu, var būt noderīgas arī datetime objektu pārvaldībā.
Kā Python valodā pārvērst virknes datetime objektos
Ir dažādas funkcijas un moduļi, piemēram, datetime bibliotēka un strptime() metode, kurus var izmantot, lai pārvērstu virknes datuma un laika objektos un otrādi.
strptime()
strptime() (string parse time) metode no datetime bibliotēkas tiek izmantota, lai pārvērstu virkni Python datetime objektā. Ir nepieciešami divi argumenti: virkne, kas jāanalizē, un virknes datuma/laika formāts.
datetime.strptime(date_string, format)pythondatetime.datetime()
Izmantojot strptime() metodi, virkni var konvertēt datetime.datetime objektā, ņemot vērā konkrētu datuma/laika formātu.
from datetime import datetime
date_string = '2023-10-30 12:00:00'
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_object) # Output: 2023-10-30 12:00:00pythonŠajā piemērā date_string ir norādīts kā '2023-10-30 12:00:00', un formāts '%Y-%m-%d %H:%M:%S' nosaka secību un to, kā datums un laiks jāparāda virknē. Metode strptime() interpretē virkni, pamatojoties uz šo formātu, un ģenerē objektu datetime.datetime, kas pēc tam tiek saglabāts mainīgajā date_object.
Šeit ir '%Y-%m-%d %H:%M:%S' nozīme:
%Y: Četrciparu gads%m: Divciparu mēnesis%d: Divciparu diena%H: Stunda (24 stundu formāts)%M: Minūtes%S: Sekundes
datetime.time()
Pārveidojot virknes par datetime.time objektu, var attēlot laiku bez datuma. To var izdarīt, izmantojot strptime() metodi no datetime klases vai sadalot laika virkni stundās, minūtēs un sekundēs.
from datetime import datetime
time_string = '14::30::00'
time_object = datetime.strptime(time_string, '%H::%M::%S').time()
print(time_object) # Output: 14:30:00python'%H:%M:%S' apzīmē formātu stundas:minūtes:sekundes. strptime() metode interpretē laika virkni saskaņā ar šo formātu un izveido datetime.time objektu.
datetime.date()
Alternatīvi, jūs varat pārveidot virkni par datetime.date objektu, izmantojot strptime() metodi no datetime klases, vai manuāli sadalot datuma virkni gada, mēneša un dienas komponentēs.
from datetime import datetime
date_string = '2023-11-30'
date_object = datetime.strptime(date_string, '%Y-%m-%d').date()
print(date_object) # Output: 2023-11-30python'%Y-%m-%d' ir gads-mēnesis-diena formāts. strptime() metode analizē datuma virkni un izveido datetime.date objektu.
Kā novērst strptime() kļūdas
Izmantojot strptime() metodi, lai Python valodā pārvērstu virknes datetime objektos, var rasties kļūdas, jo īpaši, ja norādītais formāts neatbilst ievades virknes formātam. Šeit ir daži bieži sastopami kļūdu veidi un to novēršanas veidi:
ValueError: time data '...' does not match format '...': Šī kļūda rodas, ja ievadītā virkne neatbilst norādītajam formātam. Pārliecinieties, kastrptime(). punktā ir izmantots pareizs formāta paraugs.ValueError: unconverted data remains: Šī kļūda tiek parādīta, ja pēc virknes apstrādes paliek neinterpretēti dati. Pārliecinieties, ka formāta paraugs aptver visas ievades virknes sadaļas.TypeError: strptime() argument 1 must be str, not ...: Tas var notikt, ja parametrs, kas nodotsstrptime(), nav virkne. Pārliecinieties, ka norādītā vērtība ir virkne, kas ietver datuma/laika formātu.
Jums jāpārliecinās, ka formāta modelis pareizi interpretē visas ievades virknes daļas (gads, mēnesis, diena, laiks utt.). Tāpat ir svarīgi ņemt vērā iespējamās atšķirības atdalītājos, lielajos burtiem un citās detaļās starp formāta modeli un ievades virkni.