PEP 321: Date/Time Parsing and Formatting
A.M. Kuchling
amk at amk.ca
Tue Nov 18 13:37:22 EST 2003
On Mon, 17 Nov 2003 18:55:20 +0100,
Gerrit Holl <gerrit at nl.linux.org> wrote:
> I think there should be a 'strptime' equivalent, on which the former
> three input formats are build. I think the latter should be a class
> method of Timedelta. Then, those examples would be used as such:
There's already a _strptime module used internally by time.strptime(). It
wouldn't be difficult to rearrange the module a little to have functions
that returned datetime instances.
Let's assume we add a strptime() method to date, time, and datetime. What
happens when you provide a time or date where it's not useful e.g.
date.strptime(..., '1992-10-15 12:05:32')? Does it raise an exception? Does
it silently ignore the time data? Or is it illegal to use time-related
specifiers such as %H with date.strptime, or date-related ones such as %m
with time.strptime?
> I prefer solution 2. I think it is the most object-oriented way. And we
So do we have one parsing method -- strptime() -- or several, one for each
variant date format? Perhaps the simplest thing is to just add strptime()
for now.
> though. Shouldn't datetime be a subclass of both date and time?
Probably not; a time represents a time independent of any particular day,
while a datetime is certainly tied to a day, so a subclass relationship
doesn't make sense.
I'm lukewarm about CVS or tar-style times ("12 hours ago" "yesterday"). They
may be good command-line user interface, because you don't need to look up
the current time and then figure out what time 18 hours ago was, but writing
such command-line UIs probably isn't very common.
--amk
More information about the Python-list
mailing list