time as float since Jan 1, 0001?
breamoreboy at yahoo.co.uk
Sat Feb 23 14:41:24 CET 2013
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
> 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
More information about the Python-list