How to convert string into datetime on Python



Hoy vamos a aprender como convertir una variable string a datetime.

Supongamos que tenemos una fecha en una variable string como la siguiente:

Sep 13 2012 11:00PM

Supongamos que deseamos convertir este string en una variable datetime por ejemplo para añadir dicha fecha a nuestra base de datos en un campo DateField, para ello tenemos diferentes opciones, aquí veremos las más comunes

 

Opción 1 - Usando la librería datetime

from datetime import datetime
 
date_string = 'Sep 13 2012 11:00PM'
date_object = datetime.strptime(date_string, '%b %d %Y %I:%M%p')
  • %b: Mes en formato reducido
  • %d: Día en formato número de dos dígitos
  • %Y: Año en formato de 4 dígitos
  • %I: Hora en formato corto (0-12)
  • %M: Minutos en formato dos dígitos (0-60)
  • %p: AM o PM

Para otros formatoś como día de la semana, horas de 24h, años de dos dígitos etc... tenemos la documentación oficial de Python con todos los formatos posibles Python: librería datetime y formatos

Opción 2: Usando la librería externa dateutil - parser

from dateutil import parser
 
date_string = 'Sep 13 2012 11:00PM'
date_object = parser.parse(date_string)

Para instalar esta librería: pip install dateutil

Para mas información sobre la librería dateutil y parser debemos ir a Python dateutil

Opción 3: Usando la librería externa timestring

import timestring
 
 
date_string = 'Sep 13 2012 11:00PM'
date_object = timestring.Date(date_string)

Para instalar esta librería: pip install timestring

Esta librería no devuelve un objeto datetime si no un objeto TimeString, pero se puede convertir entre ambos sin problema.

Para mas información sobre la librería timestring debemos ir a Github: TimeString

Cualquier duda no dudeis en comentar !

Dejar un comentario

Tienes que esperar para comentar otra vez. Tiempo de espera: