diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index a229e09f5e63..5673a24c72ab 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -271,6 +271,17 @@ def _dt64_to_ordinalf(d): return dt +def _tdelta_to_ordinalf(tdelta): + """ + Convert :mod:`timedelta` to total days. Return value is a :func:`float` + """ + return tdelta.total_seconds() / SEC_PER_DAY + + +# a version of _tdelta_to_ordinalf that can operate on numpy arrays +_tdelta_to_ordinalf_np_vectorized = np.vectorize(_tdelta_to_ordinalf) + + def _from_ordinalf(x, tz=None): """ Convert Gregorian float of the date, preserving hours, minutes, diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index db153be5ff97..9d14474a2a0e 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -641,3 +641,10 @@ def test_tz_utc(): def test_num2timedelta(x, tdelta): dt = mdates.num2timedelta(x) assert dt == tdelta + + +def test_timedelta_ordinalf(): + # Check that timedeltas can be converted to ordinalfs + dt = datetime.timedelta(seconds=60) + ordinalf = mdates._tdelta_to_ordinalf(dt) + assert ordinalf == 1 / (24 * 60) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy