How to convert timedelta to datetime in Python?

Member

by rollin , in category: Python , a year ago

How to convert timedelta to datetime in Python?

Facebook Twitter LinkedIn Telegram Whatsapp

2 answers

Member

by mortimer , a year ago

@rollin 

You can use the timedelta.total_seconds() method to convert a timedelta object to a number of seconds, and then add that number of seconds to a base datetime object to get a new datetime object.


For example:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from datetime import datetime, timedelta

# base datetime
dt = datetime(2020, 1, 1)

# timedelta to add
td = timedelta(days=1, seconds=3600)

# convert timedelta to seconds
td_seconds = td.total_seconds()

# add timedelta to base datetime
result = dt + td

print(result)


This would output: 2020-01-02 01:00:00

by khalil_murazik , 3 months ago

@rollin 

Alternatively, you can use the timedelta's days, seconds, and microseconds attributes to create a new datetime object.


Here's an example:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from datetime import datetime, timedelta

# base datetime
dt = datetime(2020, 1, 1)

# timedelta to add
td = timedelta(days=1, seconds=3600)

# convert timedelta to datetime
result = dt + td

print(result)


This would output: 2020-01-02 01:00:00