Python
La biblioteca estándar
fecha y hora - datetime
calcular, comparar

Calcular fechas y horas con datetime en Python

Trabajar con fechas y horas es un tema fascinante e importante en Python. El módulo datetime en Python proporciona todas las funciones necesarias para calcular y manipular fechas y horas. En esta publicación, profundizaremos en cómo realizar varios cálculos de fechas y horas utilizando el módulo datetime.

1. Calcular años bisiestos

Comprobar los años bisiestos es un aspecto vital de los cálculos de fechas.

💡

Un año bisiesto ocurre cada 4 años, pero no en años que son múltiplos de 100, a menos que también sean múltiplos de 400.

Usando el módulo calendar de Python, podemos comprobar fácilmente si un cierto año es un año bisiesto.

import calendar
 
year = 2024  # El año para comprobar
is_leap = calendar.isleap(year)
 
print(f"¿Es {year} un año bisiesto?: {'Sí' if is_leap else 'No'}")

2. Calcular la diferencia entre fechas y horas

Para calcular la diferencia entre dos fechas u horas, podemos usar la clase timedelta del módulo datetime.

from datetime import datetime
 
datetime1 = datetime(2023, 7, 7, 12, 0, 0)
datetime2 = datetime(2023, 7, 8, 12, 0, 0)
 
diff = datetime2 - datetime1
 
print(f"La diferencia entre las dos fechas y horas es de {diff.days} días y {diff.seconds} segundos.")

Los objetos timedelta tienen tres atributos: días, segundos y microsegundos. Esto nos permite calcular fácilmente cosas como días, horas, minutos y segundos.

3. Calcular el tiempo a partir de segundos

Para convertir un cierto número de segundos en horas, minutos y segundos, podemos utilizar la función divmod. Esta función divide el primer argumento por el segundo y devuelve el cociente y el resto.

seconds = 3661  # Los segundos a convertir
 
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
 
print(f"{hours} horas {minutes} minutos {seconds} segundos")

4. Calcular el tiempo a partir de una cadena de texto

Para trabajar con fechas y horas que están en formato de cadena de texto, podemos utilizar la función strptime para convertir la cadena en un objeto datetime.

from datetime import datetime
 
datetime_str = "2023-07-07 12:00:00"
datetime_obj = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
 
print(datetime_obj)

5. Calcular la diferencia entre fechas y horas en un DataFrame

Para calcular la diferencia entre fechas y horas en un DataFrame de pandas, podemos utilizar la función pd.to_datetime y el método timedelta.

import pandas as pd
 
data = {'date': ['2023-07-07', '2023-07-08', '2023-07-09']}
df = pd.DataFrame(data)
 
df['date'] = pd.to_datetime(df['date'])
df['diff'] = df['date'].diff()
 
print(df)

6. Calcular fechas en Excel

También es posible calcular fechas en Excel con Python. La biblioteca openpyxl permite leer y escribir archivos de Excel. Cuando se combina con el módulo datetime, permite realizar cálculos de fechas en Excel.

from openpyxl import load_workbook
from datetime import datetime
 
wb = load_workbook('test.xlsx')
ws = wb.active
 
date_cell = ws['A1']  # La celda con la fecha
date_cell.value = datetime.now()
 
wb.save('test.xlsx')

Conclusión

El módulo datetime de Python es extremadamente útil para manejar una variedad de requisitos de cálculo de fechas y horas. Esta publicación ha examinado cómo maximizar la funcionalidad de este módulo. Refiérase a él para hacer los cálculos de fechas y horas en Python con facilidad.

copyright for Calcular fechas y horas con datetime{:py} en Python

© 2023 All rights reserved.