On 23/02/2013 13:29, Roy Smith wrote:
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?


IIRC you needn't bother, matplotlib will do all the conversions for you. In the highly likely case that I'm wrong this should help http://matplotlib.org/api/dates_api.html#module-matplotlib.dates

--
Cheers.

Mark Lawrence

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to