Cómo convertir una cadena a datetime en Python

  1. datetime.strptime() para convertir una cadena en datetime
  2. Python datetime.strptime() Ejemplos

Este tutorial introduce cómo convertir string en datetime en Python y también lista algunos códigos de ejemplo para cubrir los formatos populares de datetime y string.

datetime.strptime() para convertir una cadena en datetime

En el tutorial anterior, hemos aprendido [cómo obtener la fecha y hora en formato de cadena usando el método datetime.strftime(). Usaremos el método datetime.strptime() para hacer la conversión de revere para obtener el objeto datetime. f y p en estos dos métodos significan format y parse respectivamente.

El método datetime.strptime() analiza la cadena de entrada con el formato datetime dado y devuelve el objeto datetime.

El ejemplo básico para usar este método strptime() se muestra a continuación,

from datetime import datetime

datetime.strptime("2018-01-31", "%Y-%m-%d")

El resultado será

datetime.datetime(2018, 1, 31, 0, 0)

Las directivas de los códigos de formato de cadena se enumeran aquí para su referencia

Directiva Significado Ejemplo
%a Día de la semana como nombre abreviado del lugar. Sun, Mon, …, Sat (en_US);So, Mo, …, Sa (de_DE)
%A Día de la semana como nombre completo del lugar. Domingo, lunes, …, sábado (en_US);Sonntag, Montag, …, Samstag (de_DE)
%w El día de la semana como un número decimal, donde 0 es el domingo y 6 es el sábado. 0, 1, …, 6
%d El día del mes como un número decimal con relleno cero. 01, 02, …, 31
%b Mes como nombre abreviado del lugar. Jan, Feb, …, Dec (en_US);Jan, Feb, …, Dez (de_DE)
%B Mes como el nombre completo del lugar. Enero, febrero, …, diciembre (en_US);enero, febrero, …, diciembre (de_DE)
%m El mes como un número decimal con relleno cero. 01, 02, …, 12
%y Año sin siglo como número decimal con relleno cero. 00, 01, …, 99
%Y Año con el siglo como número decimal. 0001, 0002, …, 2013, 2014, …, 9998, 9999
%H La hora (reloj de 24 horas) como un número decimal con relleno cero. 00, 01, …, 23
%I Hora (reloj de 12 horas) como número decimal con relleno cero. 01, 02, …, 12
%p El equivalente local de AM o PM. AM, PM (en_US);am, pm (de_DE)
%M Minuto como un número decimal con relleno cero. 00, 01, …, 59
%S Segundo como un número decimal con relleno cero. 00, 01, …, 59
%f Microsegundo como número decimal, cero a la izquierda. 000000, 000001, …, 999999
%z Offset UTC en la forma ±HHMM[SS] (cadena vacía si el objeto es ingenuo). (vacío), +0000, -0400, +1030
%Z Nombre del huso horario (cadena vacía si el objeto es ingenuo). (vacío), UTC, EST, CST
%j Día del año como un número decimal con relleno cero. 001, 002, …, 366
%U El número de la semana del año (el domingo como primer día de la semana) como un número decimal con relleno cero. Todos los días del nuevo año que preceden al primer domingo se consideran en la semana 0. 00, 01, …, 53
%W Número de la semana del año (el lunes como primer día de la semana) como número decimal. Todos los días de un nuevo año que preceden al primer lunes se consideran en la semana 0. 00, 01, …, 53
%c Representación de la fecha y hora apropiadas del local. Tue Aug 16 21:30:00 1988 (en_US);Di 16 Aug 21:30:00 1988 (de_DE)
%x La representación de la fecha apropiada del local. 08/16/88 (Ninguno);08/16/1988 (en_US);16.08.1988 (de_DE)
%X La representación del tiempo apropiado de la localidad. 21:30:00 (en_US);21:30:00 (de_DE)
%% Un personaje literal. %

Python datetime.strptime() Ejemplos

Formato 7-May-2013 de datetime

from datetime import datetime

dateString = "7-May-2018"
dateFormatter = "%u-%b-%Y"
datetime.strptime(dateString, dateFormatter)

Salida

datetime.datetime(2013, 5, 1, 0, 0)

31/12/2018 datetime formato

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Salida

datetime.datetime(2013, 12, 31, 0, 0)

Mon, July 16 2018 datetime formato

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Salida

datetime.datetime(2018, 7, 16, 0, 0)

Monday, July 16, 2018 20:01:56 datetime formato

from datetime import datetime

dateString = "Monday, July 16, 2018 20:01:56"
dateFormatter = "%A, %B %d, %Y %H:%M:%S"
datetime.strptime(dateString, dateFormatter)

Salida:

datetime.datetime(2018, 7, 16, 20, 1, 56)

Artículo relacionado - Python String

  • Cómo comprobar si una cuerda está vacía de forma ptónica
  • Cómo eliminar los espacios en blanco de una cadena en Python
  • Cómo convertir una cadena en minúsculas en Python 2 y 3
  • Cómo comprobar si una cadena contiene un sustrato en Python
  • Cómo convertir una lista en cadena en Python
  • Cómo convertir una cadena en Float o Int en Python
  • Cómo leer un archivo línea por línea a una lista en Python
  • Cómo convertir una cadena en bytes en Python
  • Artículo relacionado - Python datetime

  • Cómo comprobar si una cuerda está vacía de forma ptónica
  • Cómo eliminar los espacios en blanco de una cadena en Python
  • Cómo convertir una cadena en minúsculas en Python 2 y 3
  • Cómo comprobar si una cadena contiene un sustrato en Python
  • Cómo convertir una lista en cadena en Python
  • Cómo convertir una cadena en Float o Int en Python
  • Cómo leer un archivo línea por línea a una lista en Python
  • Cómo convertir una cadena en bytes en Python
  • Cómo convertir la columna del DataFrame a Datetime en Pandas
  • Cómo obtener la hora actual en Python
  • comments powered by Disqus