Capítulo 46 - Trabajar con fechas con el método strftime() - Fechas 2

Curso de Python desde cero


Mostrar la fecha actual en Python

En este capítulo verás el método strftime() con el que podrás formatear las fechas en strings.

Formatos de fecha en Python

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. El efecto es cómo pulsar la tecla "tab" en un editor de texto.
%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. 15:40:09
%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 con el now() los datos del instante de la ejecución, por lo que evidentemente, te saldrán otras fechas.

Código

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"))

Resultado

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.
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.

Módulo datetime

Suscríbete a mi canal de YouTube para apoyarme

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


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.