El manejo de fechas en Python con strftime()
Capítulo 46: Fechas con el método strftime() de Python
En este capítulo verás el método strftime()
con el que podrás formatear las fechas en strings de Python.
Formatos de fecha en Python
Empecemos viendo las opciones de formatos de fecha que tenemos:
Opción | Directiva | Ejemplo |
---|---|---|
%a |
Día de la semana abreviado. | Fri |
%A |
Día de la semana completo. | Friday |
%b |
Mes abreviado. | Sep |
%B |
Mes completo. | September |
%c |
Día de la semana abreviado + mes abreviado + número del día del mes + hora + minutos + segundos + año. | Fri Sep 11 13:18:26 2020 |
%C |
Número de siglo. Empieza a contar desde 0, por eso cuenta uno menos del esperado. | 20 |
%d |
Día del mes (01 a 31). | 07 |
%D |
Día/hora/año. | 09/11/20 |
%e |
Día del mes (1 a 31). | 7 |
%g |
Año en dos dígitos. | 20 |
%g |
Año en cuatro dígitos. | 2020 |
%h |
Mes abreviado (igual que %b). | Sep |
%H |
Hora de 00 a 23. | 15 |
%I |
Hora de 01 a 12. | 03 |
%j |
Día del año del 001 al 366. | 255 |
%m |
Mes del 01 al 12. | 09 |
%M |
Minuto. | 16 |
%n |
Salto de línea. | El efecto es cómo pulsar la tecla ENTER en un editor de texto. |
%p |
AM o PM. | PM |
%r |
Hora + AM o PM. | 03:21:58 PM |
%R |
Hora + AM o PM. | 15:24 |
%S |
Segundos. | 13 |
%t |
Tabulación. | El efecto es cómo pulsar la tecla TAB en un editor de texto. |
%T |
Hora, minutos y segundos. | 14:30:45 |
%u |
Día de la semana (número). | 5 |
%U |
Semana del año (empieza en domingo). | 36 |
%V |
Semana del año (condiciones especiales). | 37 |
%W |
Semana del año (empieza en lunes). | 36 |
%w |
Día de la semana(empieza en domingo). | 5 |
%x |
Día/mes/año de dos dígitos. | 09/11/20 |
%X |
Hora/minutos/segundos. | 02:30:45 PM |
%y |
Año corto. | 20 |
%Y |
Año largo. | 2020 |
Aquí tienes unos ejemplos para que veas lo que devuelven en la consola, te recomiendo que los pruebes, ya que se muestran los datos con el now()
y por lo tanto, se muestra el instante de la ejecución, por lo que evidentemente, te saldrán otras fechas.
import datetime
ahora = datetime.datetime.now()
print(ahora.strftime("Día de la semana abreviado: %a "))
print(ahora.strftime("Día de la semana completo: %A "))
print(ahora.strftime("Mes abreviado: %b "))
print(ahora.strftime("Mes abreviado: %B "))
print(ahora.strftime("Fecha completa: %c "))
print(ahora.strftime("Siglo (empieza a contar desde cero): %C "))
print(ahora.strftime("Día del mes (01 - 31): %d "))
print(ahora.strftime("Día/hora/año: %D "))
print(ahora.strftime("Día del mes (1 - 31): %e "))
print(ahora.strftime("Año en dos dígitos: %g "))
print(ahora.strftime("Año en cuatro dígitos: %G "))
print(ahora.strftime("Mes abreviado: %h "))
print(ahora.strftime("Hora (00 - 23): %H "))
print(ahora.strftime("Hora (01 - 12): %I "))
print(ahora.strftime("Día del año: %j "))
print(ahora.strftime("Mes del 01 al 12: %m "))
print(ahora.strftime("Minuto: %M "))
print(ahora.strftime("Salto de línea: %n"))
print(ahora.strftime("AM o PM: %p "))
print(ahora.strftime("Hora + AM o PM: %r"))
print(ahora.strftime("Hora y minutos: %R"))
print(ahora.strftime("Segundos: %S"))
print(ahora.strftime("Tabulación: %t"))
print(ahora.strftime("Hora, minutos y segundos: %T"))
print(ahora.strftime("Día de la semana (número): %u"))
print(ahora.strftime("Semana del año (empieza en domingo): %U"))
print(ahora.strftime("Semana del año(Condiciones especiales): %V"))
print(ahora.strftime("Semana del año (empieza en lunes): %W"))
print(ahora.strftime("Día de la semana (empieza en domingo): %w"))
print(ahora.strftime("Día/mes/año de dos dígitos: %x"))
print(ahora.strftime("Hora/minutos/segundos: %X"))
print(ahora.strftime("Año corto: %y"))
print(ahora.strftime("Año largo: %Y"))
Día de la semana abreviado: Fri
Día de la semana completo: Friday
Mes abreviado: Sep
Mes abreviado: September
Fecha completa: Fri Sep 11 15:52:09 2020
Siglo (empieza a contar desde cero): 20
Día del mes (01 - 31): 11
Día/hora/año: 09/11/20
Día del mes (1 - 31): 11
Año en dos dígitos: 20
Año en cuatro dígitos: 2020
Mes abreviado: Sep
Hora (00 - 23): 15
Hora (01 - 12): 03
Día del año: 255
Mes del 01 al 12: 09
Minuto: 52
Salto de línea:
AM o PM: PM
Hora + AM o PM: 03:52:09 PM
Hora y minutos: 15:52
Segundos: 09
Tabulación: .
Hora, minutos y segundos: 15:52:09
Día de la semana (número): 5
Semana del año (empieza en domingo): 36
Semana del año(Condiciones especiales): 37
Semana del año (empieza en lunes): 36
Día de la semana (empieza en domingo): 5
Día/mes/año de dos dígitos: 09/11/20
Hora/minutos/segundos: 15:52:09
Año corto: 20
Año largo: 2020
Este tema de las fechas podría alargarse mucho más, pero lo voy a dejar aquí en este curso para que no te aburra demasiado y puedas aprender más cosas.
Por cierto, puedes ver en el vídeo cómo transformar las fechas a español, por ejemplo, "Fry" o "Friday" que salga como "vie" o viernes.
Te dejo un enlace a la documentación oficial de Python del módulo datetime
para que la tengas a mano cuando la necesites:
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.