¿Qué es strptime en Python?: guía para principiantes

| Última modificación: 16 de julio de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Strptime es otro de los métodos de la amplia y variada librería de Python que te ayudará a satisfacer todas las necesidades que pueda llegar a tener tu programa de código. En este caso, este método se encarga de representar las variables relacionadas al tiempo, horas, minutos y segundos de una línea de código. Por lo tanto, si quieres aprender más, sigue leyendo este post sobre qué es strptime en Python.

¿Qué es strptime en Python?

¿Qué es strptime en Python?

Entre los métodos más importantes relacionados con el tiempo que puedes utilizar con un lenguaje de programación, el método strptime en Python se encarga de efectuar acciones respecto al tiempo, en especial, respecto a la representación de fechas. El método strptime en Python crea un objeto que corresponde a la información del tiempo, desde una cadena o un format code.

Por otro lado, el resultado que devuelve esta función es un valor que se representa como struct_time, efectuado en gmtime() o localtime(). Un ejemplo de cómo funciona este método en un programa de código es el siguiente:

//strptime en Python
from datetime import datetime

date_string = "04 June, 2022"
date_object = datetime.strptime(date_string, "%d %B, %Y")

Las d, B e Y del anterior ejemplo corresponden al valor del día, mes y año en formato completo. Hay otras variables parecidas a estas que configuran el formato en el que se pueden representar dichos valores. Por ejemplo, mientras hay unas que se establecen cuando se desea poner el mes completo, otras solo registran las tres primeras letras del nombre del mes.

Detalles del formato de strptime

Veanis algunos de los códigos de formato más comunes utilizados con strptime en Python:

  • %d: Día del mes (01-31)
  • %m: Mes (01-12)
  • %Y: Año con siglo
  • %H: Hora (00-23)
  • %M: Minuto (00-59)
  • %S: Segundo (00-59)
  • %b: Nombre abreviado del mes
  • %B: Nombre completo del mes

Uso de strftime en conjunto con strptime

El método strftime se utiliza para convertir un objeto de fecha y hora en una cadena formateada. Aquí hay un ejemplo de cómo usar ambos métodos juntos:

from datetime import datetime

date_string = "04 June, 2022"
date_object = datetime.strptime(date_string, "%d %B, %Y")
formatted_date = date_object.strftime("%Y-%m-%d")
print(formatted_date) # Output: 2022-06-04

Manejo de errores y excepciones

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

El método strptime puede levantar un error de tipo ValueError cuando hay problemas con la cadena que se pasa, ya que no puede analizarse respecto al formato o hay un exceso de datos. Aquí se muestra cómo manejar este error:

from datetime import datetime

date_string = "04 June, 2022"
try:
date_object = datetime.strptime(date_string, "%d %B, %Y")
except ValueError as e:
print(f"Error: {e}")

Comparación con otros métodos de manipulación de fechas

Existen otras librerías en Python para la manipulación de fechas y horas, como dateutil y arrow. Estas librerías pueden ofrecer funcionalidades adicionales y simplificar ciertas tareas:

from dateutil import parser

date_string = "04 June, 2022"
date_object = parser.parse(date_string)
print(date_object) # Output: 2022-06-04 00:00:00

Ejemplos: Registro de movimientos financieros

Primero establecemos la clase Movimiento del programa de código de la app. En este ejemplo es necesario generar una fecha, con año, mes y día, de un determinado movimiento. Por lo tanto, se establece en la variable de self.fecha, el método strptime junto a los determinantes de año (%Y), mes (%m) y día (%d).

from datetime import datetime

class Movimiento:
def __init__(self, linea):
self.fecha = datetime.strptime(linea["fecha"], "%Y-%m-%d")
self.hora = linea["hora"]
self.concepto = linea["concepto"]
self.ingreso_gasto = linea["ingreso_gasto"]
self.cantidad = linea["cantidad"]

movimiento = Movimiento({
"fecha": "2022-06-04",
"hora": "14:30",
"concepto": "Venta",
"ingreso_gasto": "Ingreso",
"cantidad": "1000"
})
print(movimiento.fecha) # Output: 2022-06-04 00:00:00
  • Compatibilidad con versiones de Python

Es importante tener en cuenta que strptime está disponible en todas las versiones modernas de Python, pero siempre es buena práctica revisar la documentación oficial para asegurarse de la compatibilidad y de las mejores prácticas.

Consideraciones de zonas horarias

El manejo de zonas horarias es crucial en aplicaciones globales. Aunque strptime no maneja directamente zonas horarias, puedes utilizar pytz junto con datetime para gestionar zonas horarias:

from datetime import datetime
import pytz

date_string = "04 June, 2022"
date_object = datetime.strptime(date_string, "%d %B, %Y")
date_object = date_object.replace(tzinfo=pytz.utc)
print(date_object)  # Output: 2022-06-04 00:00:00+00:00

El método strptime en Python es una herramienta poderosa para manipular y formatear fechas y horas en tus programas. Al entender cómo funciona y cómo manejar errores, puedes crear aplicaciones más robustas y precisas. Explora otros métodos y librerías para mejorar aún más tus habilidades en programación con Python.

Si bien ya sabes qué es strptime en Python y cómo puedes utilizar el módulo strptime() en tus programas de código, te recomendamos seguir investigando acerca de cómo pueden implementarse los métodos en los proyectos de Python.

Por otro lado, si deseas convertirte en un programador profesional, pero aún no sabes cómo, te recomendamos revisar el programa de nuestro bootcamp programación, pues ofrecemos una formación íntegra e intensiva que te abrirá las puertas del mundo IT. ¡No te quedes con las ganas y anímate a convertirte en un experto en Python!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.