time as float since Jan 1, 0001?
roy at panix.com
Sat Feb 23 14:29:01 CET 2013
I'm working with matplotlib.plot_date(), which represents time as
"floats starting at January 1st, year 0001". Is there any
straight-forward way to get that out of a datetime?
datetime.toordinal() gives me the number of days since that epoch, but
as an integer. I figured it wouldn't be too hard to just do:
t.toordinal() + t.time().total_seconds()
except it turns out that only timedelta supports total_seconds(); time
I suppose I could do:
t.toordinal() + t.hour / 24.0 \
+ t.minute / 1440.0 \
+ t.second / 86400.0
but that's really ugly. Is there no cleaner way to do this conversion?
More information about the Python-list