Python DateTime – Clase Timedelta

La clase Timedelta se utiliza para calcular diferencias entre fechas y representa una duración. La diferencia puede ser tanto positiva como negativa.

Sintaxis:

class datetime.timedelta(días=0, segundos=0, microsegundos=0, milisegundos=0, minutos=0, horas=0, semanas=0)

Ejemplo:

Python3

# Timedelta function demonstration
 
from datetime import datetime, timedelta
 
# creating datetime objects
date1 = datetime(2020, 1, 3)
date2 = datetime(2020, 2, 3)
 
# difference between dates
diff = date2 - date1
print("Difference in dates:", diff)
 
# Adding days to date1
date1 += timedelta(days = 4)
print("Date1 after 4 days:", date1)
 
# Subtracting days from date1
date1 -= timedelta(15)
print("Date1 before 15 days:", date1)
Producción

Difference in dates: 31 days, 0:00:00
Date1 after 4 days: 2020-01-07 00:00:00
Date1 before 15 days: 2019-12-23 00:00:00

Atributos de clase:

Veamos los atributos provistos por esta clase – 

Nombre del Atributo Descripción
min el valor mínimo del objeto timedelta es -999999999
máximo el valor máximo del objeto timedelta es 999999999
resolución La mínima diferencia posible entre objetos timedelta

Ejemplo: Obtener el valor mínimo y máximo de los objetos timedelta

Python3

from datetime import timedelta
 
# Getting minimum value
Min = timedelta.min
print("Minimum value of timedelta object", Min)
 
# Getting minimum value
Max = timedelta.max
print("Maximum value of timedelta object", Max)
Producción

Minimum value of timedelta object -999999999 days, 0:00:00
Maximum value of timedelta object 999999999 days, 23:59:59.999999

Producción

Valor mínimo del objeto timedelta -999999999 días, 0:00:00

Valor máximo del objeto timedelta 999999999 días, 23:59:59,999999

Funciones de clase

La clase Timedelta proporciona solo una función que es total_seconds(). Este método devuelve la duración proporcionada por el objeto timedelta en el número de segundos. 

Nota: Para una duración de más de 270 años, este método tendrá una precisión de microsegundos.

Ejemplo: Obtener varias duraciones en segundos

Python3

from datetime import timedelta
 
# Getting minimum value
obj = timedelta(hours=1)
print(obj.total_seconds())
 
obj = timedelta(minutes=1)
print(obj.total_seconds())
 
obj = timedelta(days=1)
print(obj.total_seconds())
Producción

3600.0
60.0
86400.0

Operaciones admitidas por Timedelta Class

Operador Descripción
suma (+) Agrega y devuelve dos objetos timedelta
Resta (-) Resta y devuelve dos objetos timedelta
Multiplicación (*) Multiplica el objeto timedelta con float o int 
División (/) Divide el objeto timedelta con float o int
División de piso (//) Divide el objeto timedelta con float o int y devuelve el valor int of floor de la salida 
Módulo (%) Divide dos objetos timedelta y devuelve el resto
+(delta de tiempo) Devuelve el mismo objeto timedelta
-(timedelta) Devuelve la resultante de -1*timedelta
abs (delta de tiempo) Devuelve el +(timedelta) si timedelta.days > 1=0 de lo contrario devuelve -(timedelta)
str(delta de tiempo) Devuelve una string con el formato (+/-) día[s], HH:MM:SS.UUUUUU
repr(delta de tiempo) Devuelve la representación de la string en forma de llamada al constructor.

Ejemplo 1: Realización de operaciones aritméticas básicas en objetos timedelta.

Python3

from datetime import timedelta
 
# creating the timedelta object
t1 = timedelta(days=1)
print("Original timedelta:", t1)
 
# multiplication
t2 = t1*5.5
print("After Multiplication:", t2)
 
# Subtraction
res = t2 - t1
print("After Subtraction:", res)
 
# addition
res += t2
print("After Addition:", res)
 
# division
res = t2/2.5
print("After division:", res)
 
# floor division
res = t2 //2
print("After floor division:", res)
 
# Modulo
res = t2%timedelta(days=3)
print("After Modulo:", res)
Producción

Original timedelta: 1 day, 0:00:00
After Multiplication: 5 days, 12:00:00
After Subtraction: 4 days, 12:00:00
After Addition: 10 days, 0:00:00
After division: 2 days, 4:48:00
After floor division: 2 days, 18:00:00
After Modulo: 2 days, 12:00:00

Ejemplo 2: obtener el valor absoluto y la representación de string de objetos timedelta

Python3

from datetime import timedelta
 
# creating the timedelta object
t1 = timedelta(days=1)
print("Original timedelta:", t1)
 
# Negation of timedelta object
t1 = -(t1)
print("After Negation:", t1)
 
# Getting Absolute value
t1 = abs(t1)
print("Absolute Value:", t1)
 
# Getting string representation
print("String representation:", str(t1))
 
# Getting Constructor call
print("Constructor call:", repr(t1))
Producción

Original timedelta: 1 day, 0:00:00
After Negation: -1 day, 0:00:00
Absolute Value: 1 day, 0:00:00
String representation: 1 day, 0:00:00
Constructor call: datetime.timedelta(1)

Nota: Para obtener más información sobre Python Datetime, consulte el Tutorial de Python Datetime

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 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 *