  # How do I perform date arithmetic in Python?

Python Methods and Functions

Timedelta objects make it very easy to do date and time math in Python. Whenever you want to add or subtract a date / time, use the datetime.datetime () function, then add or subtract instances of datetime.timedelta ().

The timedelta object represents a duration, the difference between two dates or times ... The timedelta constructor has the following function signature:

` datetime.timedelta ([days [, seconds [, microseconds [, milliseconds [, minutes [, hours [ , weeks]]]]]]]]) `

Note. All arguments are optional and defaults to 0. Arguments can be integer, long, or float and can be positive or negative. You can read more about it here: https://docs.python.org/2/library/datetime.html#timedelta-objects

## Example

Example using timedelta and date objects:

` import datetime old_time = datetime.datetime.now () print (old _time) new_time = old_time - datetime.timedelta (hours = 2, minutes = 10) print (new_time) `

## Output

This will give output:

` 2018-01-04 11: 09: 00.694602 2018-01-04 08: 59: 00.694602 `

timedelta () arithmetic is not supported for datetime.time objects (); if you need to use offsets from an existing datetime.time () object, just use datetime.datetime.combine () to instantiate datetime.datetime (), perform calculations, and "fetch" the time again with the .time () method.

Subtracting 2 datetime objects gives a timedelta object. This timedelta object can be used to find the exact difference between two dates.

## Example

` t1 = datetime.datetime.now ( ) t2 = datetime.datetime.now () print (t1 - t2) print (type (t1 - t2)) `

## Output

This will give output:

` - 1 day, 23: 59: 56.653627 & lt; class 'datetime.timedelta' & gt; `