Python strftime () - fecha y hora a cadena

En este artículo, aprenderá a convertir objetos de fecha, hora y fecha y hora en su cadena equivalente (con la ayuda de ejemplos)

El strftime()método devuelve una cadena que representa la fecha y la hora utilizando un objeto de fecha, hora o fecha y hora.

Ejemplo 1: fecha y hora a cadena usando strftime ()

El siguiente programa convierte un datetimeobjeto que contiene la fecha y hora actuales a diferentes formatos de cadena.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

Cuando ejecute el programa, la salida será algo como:

 año: 2018 mes: 12 día: 24 hora: 04:59:31 fecha y hora: 24/12/2018, 04:59:31 

Aquí, año, día, hora y fecha_hora son cadenas, mientras que ahora es un datetimeobjeto.

¿Cómo funciona strftime ()?

En el programa anterior, %Y, %m, %detc, son códigos de formato. El strftime()método toma uno o más códigos de formato como argumento y devuelve una cadena formateada basada en él.

  1. Importamos la datetimeclase del datetimemódulo. Es porque el objeto de la datetimeclase puede acceder al strftime()método.
  2. El datetimeobjeto que contiene la fecha y hora actuales se almacena en la variable ahora.
  3. El strftime()método se puede utilizar para crear cadenas formateadas.
  4. La cadena que pasa al strftime()método puede contener más de un código de formato.

Ejemplo 2: crear una cadena a partir de una marca de tiempo

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

Cuando ejecute el programa, la salida será:

 Objeto de fecha y hora: 2018-06-12 09:55:22 Salida 2: 06/12/2018, 09:55:22 Salida 3:12 de junio de 2018 Salida 4:12 de junio de 2018 Salida 5: 09AM 

Lista de códigos de formato

La siguiente tabla muestra todos los códigos que puede pasar al strftime()método.

Directiva Sentido Ejemplo
%a Nombre abreviado del día de la semana. Dom, lun,…
%A Nombre completo del día de la semana. Domingo Lunes,…
%w Día de la semana como número decimal. 0, 1,…, 6
%d Día del mes como decimal con relleno de ceros. 01, 02,…, 31
%-d Día del mes como número decimal. 1, 2,…, 30
%b Nombre del mes abreviado. Ene, feb,…, dic
%B Nombre del mes completo. Enero febrero,…
%m Mes como un número decimal con relleno de ceros. 01, 02,…, 12
%-m Mes como número decimal. 1, 2,…, 12
%y Año sin siglo como número decimal con relleno de ceros. 00, 01,…, 99
%-y Año sin siglo como número decimal. 0, 1,…, 99
%Y Año con siglo como número decimal. 2013, 2019 etc.
%H Hora (reloj de 24 horas) como un número decimal relleno con ceros. 00, 01,…, 23
%-H Hora (reloj de 24 horas) como número decimal. 0, 1,…, 23
%I Hora (reloj de 12 horas) como un número decimal con relleno de ceros. 01, 02,…, 12
%-I Hora (reloj de 12 horas) como número decimal. 1, 2,… 12
%p AM o PM de la configuración regional. AM PM
%M Minuto como un número decimal con relleno de ceros. 00, 01,…, 59
%-M Minuto como número decimal. 0, 1,…, 59
%S Segundo como un número decimal con relleno de ceros. 00, 01,…, 59
%-S Segundo como número decimal. 0, 1,…, 59
%f Microsegundos como número decimal, relleno con ceros a la izquierda. 000000 - 999999
%z Desplazamiento UTC en la forma + HHMM o -HHMM.
%Z Nombre de la zona horaria.
%j Día del año como un número decimal relleno con ceros. 001, 002,…, 366
%-j Día del año como número decimal. 1, 2,…, 366
%U Número de semana del año (domingo como primer día de la semana). Todos los días de un año nuevo que preceden al primer domingo se consideran de la semana 0. 00, 01,…, 53
%W Número de semana del año (el lunes como primer día de la semana). Todos los días de un año nuevo que preceden al primer lunes se consideran de la semana 0. 00, 01,…, 53
%c Representación apropiada de la fecha y la hora. Lun 30 de septiembre 07:06:05 2013
%x Representación de fecha apropiada de la configuración regional. 30/09/13
%X Representación de tiempo apropiada de la configuración regional. 07:06:05
%% Un carácter '%' literal. %

Ejemplo 3: fecha y hora apropiadas de la configuración regional

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

Cuando ejecute el programa, la salida será:

 Salida 1: martes 12 de junio 09:55:22 2018 Salida 2: 06/12/18 Salida 3: 09:55:22 

Formatear códigos %c, %xy %Xse utilizan para la representación de la fecha y la hora apropiada de la configuración regional.

También le recomendamos que compruebe Python strptime (). El strptime()método crea un datetimeobjeto a partir de una cadena.

Articulos interesantes...