Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Dominar strftime() en Python: Convertir Fechas y Horas a Cadenas Legibles

Método strftime() en Python

En este artículo aprenderás a convertir objetos date, time y datetime en sus representaciones de cadena equivalentes, con ejemplos prácticos.

Video: Fechas y Horas en Python

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


Ejemplo 1: Convertir datetime a cadena con strftime()

El siguiente programa convierte un objeto datetime que contiene la fecha y hora actual en diferentes formatos de cadena.

from datetime import datetime

now = datetime.now()  # fecha y hora actual
year = now.strftime("%Y")
print("año:", year)
month = now.strftime("%m")
print("mes:", month)
day = now.strftime("%d")
print("día:", day)
time = now.strftime("%H:%M:%S")
print("hora:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("fecha y hora:", date_time)

Al ejecutar el programa, la salida será similar a:

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

Aquí, year, day, time y date_time son cadenas, mientras que now es un objeto datetime.


¿Cómo funciona strftime()?

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

  1. Importamos la clase datetime del módulo datetime, ya que los objetos de esta clase pueden acceder al método strftime().
  2. El objeto datetime que contiene la fecha y hora actual se almacena en la variable now.
  3. El método strftime() se utiliza para crear cadenas formateadas.
  4. La cadena que pasas a strftime() puede contener más de un código de formato.

Ejemplo 2: Crear una cadena a partir de una marca de tiempo (timestamp)

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("Objeto datetime:", date_time)

d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("Salida 2:", d)

d = date_time.strftime("%d %b, %Y")
print("Salida 3:", d)

d = date_time.strftime("%d %B, %Y")
print("Salida 4:", d)

d = date_time.strftime("%I%p")
print("Salida 5:", d)

Al ejecutar el programa, la salida será:

Objeto datetime: 2018-06-12 09:55:22
Salida 2: 06/12/2018, 09:55:22
Salida 3: 12 Jun, 2018
Salida 4: 12 June, 2018
Salida 5: 09AM

Lista Completa de Códigos de Formato

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

DirectivaSignificadoEjemplo
%aNombre abreviado del día de la semana.Dom, Lun, ...
%ANombre completo del día de la semana.Domingo, Lunes, ...
%wDía de la semana como número decimal.0, 1, ..., 6
%dDía del mes como número decimal con ceros a la izquierda.01, 02, ..., 31
%-dDía del mes como número decimal (sin ceros).1, 2, ..., 30
%bNombre abreviado del mes.Ene, Feb, ..., Dic
%BNombre completo del mes.Enero, Febrero, ...
%mMes como número decimal con ceros a la izquierda.01, 02, ..., 12
%-mMes como número decimal (sin ceros).1, 2, ..., 12
%yAño sin siglo, con ceros a la izquierda.00, 01, ..., 99
%-yAño sin siglo, sin ceros.0, 1, ..., 99
%YAño con siglo como número decimal.2013, 2019, etc.
%HHora (reloj de 24h) con ceros a la izquierda.00, 01, ..., 23
%-HHora (reloj de 24h) sin ceros.0, 1, ..., 23
%IHora (reloj de 12h) con ceros a la izquierda.01, 02, ..., 12
%-IHora (reloj de 12h) sin ceros.1, 2, ..., 12
%pAM o PM según la configuración regional.AM, PM
%MMinutos con ceros a la izquierda.00, 01, ..., 59
%-MMinutos sin ceros.0, 1, ..., 59
%SSegundos con ceros a la izquierda.00, 01, ..., 59
%-SSegundos sin ceros.0, 1, ..., 59
%fMicrosegundos como número decimal, con ceros a la izquierda.000000 - 999999
%zDesplazamiento UTC en formato +HHMM o -HHMM.
%ZNombre de la zona horaria.
%jDía del año con ceros a la izquierda.001, 002, ..., 366
%-jDía del año sin ceros.1, 2, ..., 366
%UNúmero de semana del año (domingo como primer día).00, 01, ..., 53
%WNúmero de semana del año (lunes como primer día).00, 01, ..., 53
%cRepresentación de fecha y hora según la configuración regional.Lun Sep 30 07:06:05 2013
%xRepresentación de fecha según la configuración regional.09/30/13
%XRepresentación de hora según la configuración regional.07:06:05
%%Carácter literal '%'.%

Ejemplo 3: Fecha y hora apropiadas según la configuración regional

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)

d = date_time.strftime("%c")
print("Salida 1:", d)

d = date_time.strftime("%x")
print("Salida 2:", d)

d = date_time.strftime("%X")
print("Salida 3:", d)

Al ejecutar el programa, la salida será:

Salida 1: Tue Jun 12 09:55:22 2018
Salida 2: 06/12/18
Salida 3: 09:55:22

Los códigos de formato %c, %x y %X se utilizan para la representación de fecha y hora apropiada según la configuración regional.


También te recomendamos consultar strptime() en Python. El método strptime() crea un objeto datetime a partir de una cadena.

python

  1. Palabras clave e identificadores en Python: Dominando palabras reservadas y convenciones de nomenclatura
  2. Dominando tipos de datos en Python: Guía práctica
  3. Dominando operadores en Python: Guía completa
  4. Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
  5. Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
  6. Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
  7. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  8. Expresiones Regulares en Python (Módulo re) – Guía Práctica
  9. Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
  10. Dominar el Módulo time de Python: Funciones, Structs y Ejemplos Prácticos
  11. Dominar time.sleep() en Python: Mejores Prácticas, Multihilo y Ejemplos Reales