Estoy analizando un archivo JSON con una cadena de fecha y hora como esta:

"col_datetime": "10/18/2017 2:45:00 PM"

Estoy usando el datetime.strptime de python para hacer de esto un datetime sqlite:

datetime.strptime(col_datetime, '%m/%d/%Y %H:%M:%S %p')

Esto se almacena en la tabla sqlite de esta manera:

2017-10-18 02:45:00.000000

Pero cuando trato de analizar esto usando strftime en sqlite3 parece que no aparece el PM

strftime('%H:%M',col_datetime)

Esto vuelve a:

2:45

En lugar de:

14:45

Tiene alguna idea sobre esto?

0
LearningNoob 28 jun. 2019 a las 17:09

1 respuesta

La mejor respuesta

Debe usar %I para el formato de 12 horas en strptime en lugar de %H.

Aquí hay un ejemplo donde puede ver que funciona como se esperaba con ese cambio:

>>> datetime.strptime('10/18/2017 2:45:00 PM', '%m/%d/%Y %H:%M:%S %p')
datetime.datetime(2017, 10, 18, 2, 45)
>>> datetime.strptime('10/18/2017 2:45:00 PM', '%m/%d/%Y %I:%M:%S %p')
datetime.datetime(2017, 10, 18, 14, 45)
0
jacalvo 28 jun. 2019 a las 14:50