example create biblioteca python datetime strptime

python - create - ¿Cómo puedo registrar el período(AM/PM) con datetime.strptime?



timedelta python example (4)

Específicamente, tengo un código que simplifica esto:

from datetime import datetime date_string = ''2009-11-29 03:17 PM'' format = ''%Y-%m-%d %H:%M %p'' my_date = datetime.strptime(date_string, format) # This prints ''2009-11-29 03:17 AM'' print my_date.strftime(format)

¿Lo que da? ¿Python simplemente ignora el especificador de período al analizar las fechas o estoy haciendo algo estúpido?


Intente reemplazar% H (Hora en un reloj de 24 horas) con% I (Hora en un reloj de 12 horas)?


Los documentos time.strftime Python dicen:

Cuando se utiliza con la función strptime (), la directiva %p solo afecta el campo de hora de salida si la directiva %I se usa para analizar la hora.

Efectivamente, cambiar su %H a %I hace funcionar.


Usaste %H (formato de 24 horas) en lugar de %I (formato de 12 horas).


format = ''%Y-%m-%d %H:%M %p''

El formato usa %H lugar de %I Como %H es el formato de "24 horas", es probable que descarte la información de %p . Funciona bien si cambia el %H a %I