0Pricing
Python Academy · Lección

Formato y análisis

Use strftime y strptime

Formato y análisis es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

¿Por qué dar formato y analizar?

Los ordenadores almacenan las fechas como objetos, pero las personas las leen como texto. Dar formato convierte un datetime en una cadena y analizar convierte una cadena de nuevo en un datetime.

  • strftime = string FROM time (dar formato).
  • strptime = string PARSE time (analizar).
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)

Su primer strftime

Llame a .strftime(format) en un datetime. Los códigos de formato comienzan con %: %Y es un año de 4 dígitos, %m es el mes y %d es el día.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))

Dar formato a la hora

Códigos de hora: %H es la hora (00-23), %M es el minuto y %S es el segundo. Puede combinarlos con texto literal como prefiera.

from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))

Nombres fáciles de leer

Algunos códigos producen nombres: %A es el nombre completo del día de la semana, %B es el nombre completo del mes y %b es la abreviatura del mes.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))

Relojes de 12 horas y AM/PM

Use %I para la hora en formato de 12 horas y %p para AM o PM. Es habitual en las interfaces dirigidas a los usuarios.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))

Analizar con strptime

datetime.strptime(text, format) lee una cadena y la convierte en un datetime. El formato debe coincidir exactamente con el texto, código por código.

from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))

Analizar la fecha y la hora juntas

Incluya códigos de hora en el formato para analizar una marca de tiempo completa. Cada separador (guiones, espacios y dos puntos) del texto también debe aparecer en el patrón.

from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)

Flujo completo: analizar y luego dar formato

Un flujo de trabajo habitual consiste en analizar el texto recibido, realizar algunas operaciones y volver a darle formato para mostrarlo, incluso con una disposición diferente.

from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)

Atajo para el formato ISO

.isoformat() produce la cadena estándar ISO 8601 y datetime.fromisoformat() la lee de nuevo sin necesidad de códigos de formato.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)

Gestionar errores de análisis

Si el texto no coincide con el formato, strptime genera un ValueError. Envuélvalo en try/except cuando la entrada pueda tener un formato incorrecto.

from datetime import datetime
try:
    datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
    print('Could not parse:', e)

Día del año y más

Códigos adicionales: %j es el día del año (001-366) y %w es el día de la semana expresado como número (0=Sunday). Son útiles para los informes.

from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))

Comprobación rápida

Tiene la cadena '2026-05-30'. ¿Qué llamada la convierte en un objeto datetime?

Repaso: formato y análisis

Recuerde:

  • strftime(fmt) convierte un datetime EN una cadena.
  • strptime(text, fmt) convierte una cadena EN un datetime.
  • Códigos habituales: %Y %m %d para las fechas, %H %M %S para las horas y %A %B para los nombres.
  • isoformat() y fromisoformat() gestionan automáticamente el estándar ISO.
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))

Preguntas frecuentes

¿La lección «Formato y análisis» es gratis?

Sí — el texto completo de «Formato y análisis» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Formato y análisis»?

Use strftime y strptime Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Formato y análisis»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. date, time, datetime
  2. Timedelta y operaciones aritméticas
  3. Formato y análisis
  4. Zonas horarias con zoneinfo
← Volver a Python Academy