[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