Python strftime()
Python strftime()
En este artículo, aprenderá a convertir objetos de fecha, hora y fecha y hora en su cadena equivalente (con la ayuda de ejemplos)
Video:Fechas y Horas en Python
El strftime()
El método devuelve una cadena que representa la fecha y la hora utilizando el objeto date, time o datetime.
Ejemplo 1:datetime 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_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. El 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 deldatetime
módulo. Es porque el objeto dedatetime
la clase puede acceder astrftime()
método.
- El
datetime
el objeto que contiene la fecha y la hora actual se almacena en ahora variable.
- El
strftime()
El método se puede utilizar para crear cadenas formateadas.
- La cadena que 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 | Significado | 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 ceros. | 01, 02, ..., 31 |
%-d | Día del mes como número decimal. | 1, 2, ..., 30 |
%b | Nombre abreviado del mes. | Ene, Feb, ..., Dic |
%B | Nombre completo del mes. | enero, febrero, ... |
%m | Mes como un número decimal con ceros. | 01, 02, ..., 12 |
%-m | Mes como número decimal. | 1, 2, ..., 12 |
%y | Año sin siglo como 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 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 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 | Minutos como número decimal. | 0, 1, ..., 59 |
%S | Segundo como un número decimal con ceros. | 00, 01, ..., 59 |
%-S | Segundo como número decimal. | 0, 1, ..., 59 |
%f | Microsegundo como número decimal, con ceros a la izquierda. | 000000 - 999999 |
%z | Compensación UTC en la forma +HHMM o -HHMM. | |
%Z | Nombre de la zona horaria. | |
%j | Día del año como 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. | Lunes 30 de septiembre 07:06:05 2013 |
%x | Representación de fecha apropiada de la localidad. | 30/09/13 |
%X | Representación de tiempo apropiada de la localidad. | 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 te recomendamos que compruebes Python strptime(). Los strptime()
método crea un datetime
objeto de una cadena.
python