I have a Python datetime, d, and I want to get the number of hours since midnight as a floating point number. The best I've come up with is:
h = ((((d.hour * 60) + d.minute) * 60) + d.second) / (60.0 * 60)
Which gives 4.5 for 4:30am, 18.75 for 6:45pm, etc. Is there a better way?