Konvertering av streng til datetime
Jeg har en enorm liste med dato-tider som dette som strenger:
Jun 1 2005 1:33PM
Aug 28 1999 12:00AM
I'm kommer til å skyve disse tilbake i riktig datetime felt i en database, så jeg trenger å trylle dem inn i ekte datetime objekter.
Dette går gjennom Djangos ORM, så jeg kan ikke bruke SQL til å gjøre konverteringen ved innsetting.
2022
3
datetime.strptime` er hovedrutinen for å analysere strenger til datetider. Den kan håndtere alle slags formater, med formatet bestemt av en formatstreng du gir den:
Det resulterende
datetime
-objektet er tidssone-naivt.Koblinger:
Python-dokumentasjon for
strptime
: Python 2, Python 3.Python-dokumentasjon for
strptime
/strftime
-formatstrenger: Python 2, Python 3.strftime.org er også en veldig fin referanse for strftime
Merknader:
strptime
= "string parse time"strftime
= "string format time"Bruk tredjepartsbiblioteket dateutil:
Det kan håndtere de fleste datoformater, inkludert det du trenger å analysere. Det er mer praktisk enn
strptime
ettersom det kan gjette riktig format mesteparten av tiden.Det er veldig nyttig for å skrive tester, der lesbarhet er viktigere enn ytelse.
Du kan installere det med:
Sjekk ut strptime i modulen time. Det er det inverse av strftime.