[issue37914] class timedelta, support the method hours and minutes in field accessors

Michael Anckaert report at bugs.python.org
Thu Aug 22 11:50:12 EDT 2019


Michael Anckaert <michael.anckaert at sinax.be> added the comment:

Thank you for the clarification Paul. It makes sense to me now to not
include those accessors.

On Thu, 22 Aug 2019 at 17:46, Paul Ganssle <report at bugs.python.org> wrote:

>
> Paul Ganssle <p.ganssle at gmail.com> added the comment:
>
> > I would support this addition. The timedelta class already has accessors
> for days and seconds, why not for hours and minutes?
>
> The `timedelta.days` and `timedelta.seconds` accessors do not do what is
> being requested here. The component accessors just give you a given
> component of the timedelta in its normalized form, so:
>
>     >>> td = timedelta(hours=25, minutes=1, seconds=2)
>     >>> td.days
>     1
>     >>> td.seconds
>     3662
>     >>> td // timedelta(seconds=1)
>     90062
>
>
> The reason there is no hours or minutes is that the normalized form of
> timedelta doesn't have those components. It would be inconsistent to have
> `hours` and `minutes` give the total duration of the timedelta in the
> chosen units while `.days` and `.seconds` return just the component of the
> normalized form.
>
> What's really being asked for here are `total_hours()` and
> `total_minutes()` methods, and when that has come up in the past (including
> recently on the python-dev mailing list), we've largely decided that the
> "divide by the units you want" idiom is sufficient (and in fact better in
> that you can choose any arbitrary units rather than just the ones that have
> specific names).
>
> ----------
>
> _______________________________________
> Python tracker <report at bugs.python.org>
> <https://bugs.python.org/issue37914>
> _______________________________________
>

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37914>
_______________________________________


More information about the Python-bugs-list mailing list