datetime.time() class - How to pass it a time string?
Ben Finney
bignose+hates-spam at benfinney.id.au
Tue Jul 24 19:59:32 EDT 2007
Neil Cerutti <horpner at yahoo.com> writes:
> On 2007-07-24, Robert Dailey <rcdailey at gmail.com> wrote:
> > Hi,
> >
> > I have a string in the following format:
> >
> > "00:00:25.886411"
> >
> > I would like to pass this string into the datetime.time() class
> > and have it parse the string and use the values. However, the
> > __init__() method only takes integers (which means I'd be
> > forced to parse the string myself). Does anyone know of a way I
> > can make it use the string? Thanks.
>
> Consult the documentation about time.strptime (to start) and then
> datetime.strptime (which refers back to the time.strptime docs,
> in a rather unfortunate manner).
Unfortunately 'strptime' also only seems to parse the components as
integers:
>>> import datetime
>>> time_format = "%H:%M:%S"
>>> time_value = datetime.datetime.strptime("09:45:31.064371", time_format)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/_strptime.py", line 334, in strptime
data_string[found.end():])
ValueError: unconverted data remains: .064371
The same thing happens with 'time.strptime'. So this isn't yet a
solution for the OP.
--
\ "Whatever you do will be insignificant, but it is very |
`\ important that you do it." -- Mahatma Gandhi |
_o__) |
Ben Finney
More information about the Python-list
mailing list