¿Cómo sumar y restar días usando DateTime en Python?

Como sabemos, la fecha y la hora se usan en programas en los que tenemos que realizar un seguimiento de la fecha y la hora, por lo que es necesario tener un módulo para manipular la fecha y la hora. En python, un módulo de fecha y hora se ocupa de fechas y horas. El módulo de fecha y hora está integrado en la biblioteca estándar de Python.

El módulo de fecha y hora consta de las siguientes clases:

 

Nombre

Descripción

1. fecha Muestra la fecha según el calendario georgiano con atributos año, mes y día.
2. tiempo Muestra la hora, independientemente de cualquier día en particular con atributos como hora, minuto, segundo, microsegundo y tzinfo.
3. fecha y hora Es una colección de fecha y hora con los atributos año, mes, día, hora, minuto, segundo, microsegundo y tzinfo.
4. timedelta Se utiliza para manipular la fecha.
5. tzinfo Proporciona información sobre la zona horaria.

Suma y resta días usando DateTime en Python

Para sumar o restar fechas, usamos algo llamado función timedelta() que se puede encontrar en la clase datetime . Se utiliza para manipular la fecha, y podemos realizar operaciones aritméticas en la fecha como sumar o restar. timedelta es muy fácil y útil de implementar.

Sintaxis: class datetime.timedelta(días=10, segundos=40, microsegundos=10, milisegundos=60, minutos=10, horas=4, semanas=8)

Devoluciones : Fecha

Nota: si no especificamos por defecto, toma un número entero como un día. 

Ejemplo 1. Adición de días 

Python3

# MANIPULATING DATETIME
from datetime import date, timedelta
 
today_date = date.today()
 
print("CURRENT DAY : ", today_date)
 
# as said earlier it takes argument as day by default
td = timedelta(5)
print("AFTER 5 DAYS DATE WILL BE : ", today_date + td)

 Producción:  

CURRENT DAY :  2020-12-27
AFTER 5 DAYS DATE WILL BE :  2021-01-01

Ejemplo 2. Restar días 

Python3

# MANIPULATING DATETIME
from datetime import date, timedelta
 
current_date = date.today()
 
print("CURRENT DAY : ",current_date)
 
print("OLD Date : ",current_date - timedelta(17))

 
Producción: 

CURRENT DAY :  2020-12-27
OLD Date :  2020-12-10

Como en el código anterior, he creado una variable llamada fecha_actual que contiene la fecha actual y luego imprime esa fecha actual.

Después de eso, he usado la función timedelta y en el parámetro, hemos pasado un valor de cuántos días queremos sumar o restar (este valor puede ser cualquier número entero).

Del mismo modo, también podemos hacer lo mismo con el tiempo.   

Ejemplo 3: 

Python3

# Manipulate DATETIME
from datetime import datetime, timedelta
current = datetime.now()
print("This is the current date and time :- ", current)
 
# FOR PRINTING TOMORROW'S DATE
tomorrow = timedelta(1)
print("Tomorrow's date and time :- ", current + tomorrow)
 
# FOR PRINTING YESTERDAY'S DATE
yesterday = timedelta(-1)
print("Yesterday's date and time :- ", current + yesterday)

 
Producción:  

This is the current date and time :-  2020-12-27 13:50:14.229336
Tomorrow's date and time :-  2020-12-28 13:50:14.229336
Yesterday's date and time :-  2020-12-26 13:50:14.229336

Ejemplo 4: 

Python3

# MANIPULATING DATETIME
from datetime import datetime, timedelta
 
curr = datetime.now()
print("Current Date and time :- ", curr)
 
new_datetime = timedelta(days = 10, seconds = 40,
                         microseconds = 10,
                         milliseconds = 60,
                         minutes = 10, hours = 4,
                         weeks = 8)
 
print("New Date and time :- ", curr + new_datetime)

Producción: 

Current Date and time :-  2020-12-27 13:58:42.178211
New Date and time :-  2021-03-03 18:09:22.238221

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *