R
Roy Smith
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
doesn't!
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?
"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
doesn't!
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?