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)
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)
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())
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)
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))
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