Python strftime()
los strftime()
El método devuelve una cadena que representa la fecha y la hora utilizando el objeto date, time o datetime.
Ejemplo 1: fecha y hora a cadena usando strftime ()
El siguiente programa convierte un datetime
objeto que contiene la fecha y la hora actual en 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 así como:
year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31
Aquí, año, día, tiempo y fecha y hora son cadenas, mientras que ahora es un datetime
objeto.
¿Cómo funciona strftime()?
En el programa anterior, %Y
, %m
, %d
etc. son códigos de formato. los strftime()
El método toma uno o más códigos de formato como argumento y devuelve una cadena formateada basada en él.
- importamos
datetime
clase de ladatetime
módulo. Es porque el objeto dedatetime
la clase puede accederstrftime()
método. - los
datetime
el objeto que contiene la fecha y la hora actual se almacena en ahora variable. - los
strftime()
El método se puede utilizar para crear cadenas formateadas. - La cuerda que le pasas al
strftime()
El 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á:
Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 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 un número decimal. | 0, 1, …, 6 |
%d | Día del mes como decimal con 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 ceros. | 01, 02, …, 12 |
%-m | Mes como un número decimal. | 1, 2, …, 12 |
%y | Año sin siglo como un número decimal con 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 con ceros. | 00, 01, …, 23 |
%-H | Hora (reloj de 24 horas) como un número decimal. | 0, 1, …, 23 |
%I | Hora (reloj de 12 horas) como un número decimal con ceros. | 01, 02, …, 12 |
%-I | Hora (reloj de 12 horas) como un número decimal. | 1, 2, … 12 |
%p | AM o PM de la localidad. | AM PM |
%M | Minuto como un número decimal con ceros. | 00, 01, …, 59 |
%-M | Minuto como un número decimal. | 0, 1, …, 59 |
%S | Segundo como un número decimal con ceros. | 00, 01, …, 59 |
%-S | Segundo como un número decimal. | 0, 1, …, 59 |
%f | Microsegundo como número decimal, 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 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 nuevo año que preceden al primer domingo se consideran en la semana 0. | 00, 01, …, 53 |
%W | Número de semana del año (lunes como primer día de la semana). 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 fecha y hora adecuada de la configuración regional. | lun 30 sep 07:06:05 2013 |
%x | Representación de fecha adecuada de la configuración regional. | 30/09/13 |
%X | Representación de tiempo adecuada 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á:
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Códigos de formato %c
, %x
y %X
se utilizan para la representación de fecha y hora adecuada de la configuración regional.
También le recomendamos que compruebe Python strptime(). los strptime()
método crea un datetime
objeto de una cadena.