re is not used, but sometimes it works more to understand regular expression than to write python.
>>> import datetime >>> time_str = "100:00:00" >>> hours, minutes, seconds = [int(i) for i in time_str.split(":")] >>> time_in_seconds = hours * 60 * 60 + minutes * 60 + seconds >>> time_in_seconds 360000 >>> now = datetime.datetime.now() >>> now datetime.datetime(2012, 10, 2, 10, 24, 6, 639000) >>> new_time = now + datetime.timedelta(seconds=time_in_seconds) >>> new_time datetime.datetime(2012, 10, 6, 14, 24, 6, 639000)
As nneonneo pointed out, datetime.timedelta() takes the values โโof hours , minutes and seconds as arguments. Therefore, you can even do something stupid (not recommended):
>>> datetime.timedelta(**{k:v for k,v in zip(["hours", "minutes", "seconds"], [int(i) for i in "100:00:00".split(":")])}) datetime.timedelta(4, 14400)
source share