Vairāk
Virknes pārvēršana datumpunktā
Man ir milzīgs saraksts ar šādiem datumiem un laikiem kā virknēm:
Jun 1 2005 1:33PM
Aug 28 1999 12:00AM
Es'grasos tos ievietot atpakaļ datubāzē atbilstošos datetime laukos, tāpēc man tie ir jāpārveido par reāliem datetime objektiem.
Tas notiek, izmantojot Django ORM, tāpēc es nevaru izmantot SQL, lai veiktu konversiju pēc ielikšanas.
2022
3
datetime.strptime
ir galvenā rutīna, kas ļauj analizēt virknes, pārveidojot tās datumā. Tā var apstrādāt visdažādākos formātus, un formātu nosaka pēc jūsu dotās formāta virknes:Rezultātā iegūtais
datetime
objekts nav atkarīgs no laika joslas.Saites:
Python dokumentācija par
strptime
: Python 2, Python 3.Python dokumentācija
strptime
/strftime
formāta virknēm: Python 2, Python 3.strftime.org ir arī ļoti laba atsauce uz strftime.
Piezīmes:
strptime
= "string parse time"strftime
= "string format time"Izmantojiet trešās puses dateutil bibliotēku:
Tā var apstrādāt lielāko daļu datumu formātu, tostarp arī to, kas jums ir jāanalizē. Tā ir ērtāka par
strptime
, jo lielākoties spēj uzminēt pareizo formātu.Tas ir ļoti noderīgs, rakstot testus, kur lasāmība ir svarīgāka par veiktspēju.
To var instalēt ar:
Pārbaudiet strptime moduli time. Tas ir apgriezts strftime.