I have an instance of datetime.datetime , d and a datetime.timedelta instance of td , and I'm trying to write a function that splits the range (d, d+td) into [(d,x1),(x1,x2),...,(xn,d+td)] with variables xn all aligned with the hour.
For example, if
d = datetime.datetime(2012, 9, 8, 18, 53, 34) td = datetime.timedelta(hours=2, minutes=34, seconds=5)
I need a list
[(datetime.datetime(..., 18, 53, 34), datetime.datetime(..., 19, 0, 0)), (datetime.datetime(..., 19, 0, 0), datetime.datetime(..., 20, 0, 0)), (datetime.datetime(..., 20, 0, 0), datetime.datetime(..., 21, 0, 0)), (datetime.datetime(..., 21, 0, 0), datetime.datetime(..., 21, 27, 39))]
Can anyone suggest a good, Pythonic, way to accomplish this?