Math <[EMAIL PROTECTED]> wrote:
>  I measure a time at racing events.this tracktime is measures in the format 
>  hh:mm:ssDDD
>  where DDD = thousands of a second...like 17:14:11.769
>  This format is being saved as a number of micro seconds since 1970..
>  like 1,090516451769E+15
>  How do I convert from the micros seconds back to time format above?

This is probably what you want

>>> import datetime 
>>> t=datetime.datetime.fromtimestamp(1.090516451769E+15/1E6)
>>> t 
datetime.datetime(2004, 7, 22, 18, 14, 11, 769000)
>>> t.isoformat()
'2004-07-22T18:14:11.769000'
>>> t.isoformat(' ').split()[1]
'18:14:11.769000'

Note that this converts using the PCs time zone (hence it says 18:14
not 17:14).  You can pass your own timezone in (but it isn't easy!),
or you can use utcfromtimestamp()

>>> datetime.datetime.utcfromtimestamp(1.090516451769E+15/1E6).isoformat()[-15:]
'17:14:11.769000'

-- 
Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to