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