[Python-ideas] datetime.timedelta literals
chris.barker at noaa.gov
Mon Jun 4 16:41:13 EDT 2018
On Mon, Jun 4, 2018 at 12:58 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> > That's good to hear, but if you don't mind asking, is your lack of
> > support because you use timedelta "programatically" instead of
> > hard-coded time units, or is there a different (or more) reason(s)?
> > (I'm ready to yield, now I'm just curious.)
> I don't know what you mean by "programatically instead of hard-coded
> time units".
I think he means essentially: Do you use timedelta with literal arguments?
-- as opposed to having it be the result of a calculation or read from a
file or ...
> In my code, I've never felt the need to be able to write
> something like "5min" rather than "timedelta(minutes=5)". Far from it
> - I find the former jarring, whereas the latter is perfectly clear, so
> even if the literal form were available I probably wouldn't use it
I'm the opposite - I use timedelta a fair bit, and find writing:
To the point that I make part of my "scripting" API take integer seconds
(or floating point hours, or...) rather than a timedelta objects, to save
my users from having to do:
from datetime import timedelta
timestep = timedelta(seconds=10)
timestep = 10
The latter of which requires more typing, an extra import, and, most
importantly, a knowledge of datetime and the timedelta API.
So yeah -- I have a need for it.
All that being said, there are an number of things one might want a literal
for, and adding a huge pile of them is a bad idea, so I'm -1 on this
It does make me think that I may want to add my own utilities to make this
Then I could add them to my "scripting" library, and my users could do:
timestep = seconds(10)
Not so bad.
In fact, maybe it would be a good idea to add such utilities to the
The interface to timedelta is hard to discover because the docstring is
In : timedelta?
Init signature: timedelta(self, /, *args, **kwargs)
Docstring: Difference between two datetime values.
Ouch! no idea what keyword argument it takes!
[but that's an argument for better docstrings, not adding literals...]
Christopher Barker, Ph.D.
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas