Python DateTime – Timedelta Class
Timedelta class is used for calculating differences between dates and represents a duration. The difference can both be positive as well as negative.
Syntax:
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
Example:
Python3
from datetime import datetime, timedelta
date1 = datetime( 2020 , 1 , 3 )
date2 = datetime( 2020 , 2 , 3 )
diff = date2 - date1
print ( "Difference in dates:" , diff)
date1 + = timedelta(days = 4 )
print ( "Date1 after 4 days:" , date1)
date1 - = timedelta( 15 )
print ( "Date1 before 15 days:" , date1)
|
Output
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
Class Attributes:
Let’s see the attributes provided by this class –
Attribute Name |
Description |
min |
minimum value of timedelta object is -999999999 |
max |
maximum value of timedelta object is 999999999 |
resolution |
The minimum possible difference between timedelta objects |
Example: Getting the minimum and maximum value of timedelta objects
Python3
from datetime import timedelta
Min = timedelta. min
print ( "Minimum value of timedelta object" , Min )
Max = timedelta. max
print ( "Maximum value of timedelta object" , Max )
|
Output
Minimum value of timedelta object -999999999 days, 0:00:00
Maximum value of timedelta object 999999999 days, 23:59:59.999999
Output
Minimum value of timedelta object -999999999 days, 0:00:00
Maximum value of timedelta object 999999999 days, 23:59:59.999999
Class Functions
Timedelta class provides only one function which is total_seconds(). This method returns the duration provided by the timedelta object in the number of seconds.
Note: For a duration of more than 270 years this method will be accurate for microseconds.
Example: Getting various duration in seconds
Python3
from datetime import timedelta
obj = timedelta(hours = 1 )
print (obj.total_seconds())
obj = timedelta(minutes = 1 )
print (obj.total_seconds())
obj = timedelta(days = 1 )
print (obj.total_seconds())
|
Output
3600.0
60.0
86400.0
Operations supported by Timedelta Class
Operator |
Description |
Addition (+) |
Adds and returns two timedelta objects |
Subtraction (-) |
Subtracts and returns two timedelta objects |
Multiplication (*) |
Multiplies timedelta object with float or int |
Division (/) |
Divides the timedelta object with float or int |
Floor division (//) |
Divides the timedelta object with float or int and return the int of floor value of the output |
Modulo (%) |
Divides two timedelta object and returns the remainder |
+(timedelta) |
Returns the same timedelta object |
-(timedelta) |
Returns the resultant of -1*timedelta |
abs(timedelta) |
Returns the +(timedelta) if timedelta.days > 1=0 else returns -(timedelta) |
str(timedelta) |
Returns a string in the form (+/-) day[s], HH:MM:SS.UUUUUU |
repr(timedelta) |
Returns the string representation in the form of the constructor call |
Example 1: Performing basic arithmetic operations on timedelta objects.
Python3
from datetime import timedelta
t1 = timedelta(days = 1 )
print ( "Original timedelta:" , t1)
t2 = t1 * 5.5
print ( "After Multiplication:" , t2)
res = t2 - t1
print ( "After Subtraction:" , res)
res + = t2
print ( "After Addition:" , res)
res = t2 / 2.5
print ( "After division:" , res)
res = t2 / / 2
print ( "After floor division:" , res)
res = t2 % timedelta(days = 3 )
print ( "After Modulo:" , res)
|
Output
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
Example 2: Getting Absolute value and the string representation of timedelta objects
Python3
from datetime import timedelta
t1 = timedelta(days = 1 )
print ( "Original timedelta:" , t1)
t1 = - (t1)
print ( "After Negation:" , t1)
t1 = abs (t1)
print ( "Absolute Value:" , t1)
print ( "String representation:" , str (t1))
print ( "Constructor call:" , repr (t1))
|
Output
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)
Note: For more information on Python Datetime, refer to Python Datetime Tutorial
Last Updated :
22 Jul, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...