Ejemplos Prácticos y Casos de Uso
Ahora que tienes una comprensión sólida de cómo trabajar con fechas y horas en Python, exploremos algunos ejemplos prácticos y casos de uso donde puedes aplicar este conocimiento.
Cálculo de la Edad
Un caso de uso común es calcular la edad de una persona a partir de su fecha de nacimiento. Aquí hay un ejemplo:
from datetime import datetime
def calculate_age(birth_date):
today = datetime.now()
age = today.year - birth_date.year
if today.month < birth_date.month or (today.month == birth_date.month and today.day < birth_date.day):
age -= 1
return age
birth_date = datetime(1990, 5, 15)
age = calculate_age(birth_date)
print(f"La edad de la persona es: {age} años")
Programación de Eventos
Otro caso de uso común es programar eventos y calcular el tiempo entre ellos. Por ejemplo, es posible que necesites calcular el número de días entre dos eventos o el número de días hábiles entre dos fechas (excluyendo fines de semana).
from datetime import datetime, timedelta
## Calcula el número de días entre dos eventos
event1 = datetime(2023, 6, 1)
event2 = datetime(2023, 6, 15)
days_between = (event2 - event1).days
print(f"El número de días entre los eventos es: {days_between}")
## Calcula el número de días hábiles entre dos fechas
start_date = datetime(2023, 6, 1)
end_date = datetime(2023, 6, 15)
business_days = 0
current_date = start_date
while current_date <= end_date:
if current_date.weekday() < 5: ## Lunes a Viernes
business_days += 1
current_date += timedelta(days=1)
print(f"El número de días hábiles entre las fechas es: {business_days}")
Seguimiento del Tiempo invertido en Tareas
También puedes utilizar la clase timedelta
para registrar el tiempo invertido en varias tareas o proyectos. Esto puede ser útil para facturación, seguimiento de productividad o gestión de proyectos.
from datetime import datetime, timedelta
## Registra el tiempo invertido en una tarea
start_time = datetime(2023, 6, 1, 9, 0, 0)
end_time = datetime(2023, 6, 1, 11, 30, 0)
task_duration = end_time - start_time
print(f"La tarea tomó {task_duration} en completarse.")
Al explorar estos ejemplos prácticos, puedes ver cómo la funcionalidad de fechas y horas en Python se puede aplicar a una variedad de escenarios del mundo real.