Format microseconds as hours:minutes:seconds, etc
Python 2, 82 79 bytes

n=input()
o=""
for k in[1000]*2+[60]*3:o=":%0*d"%(k%7/2,n%k)+o;n/=k
print o[1:]


Builds the string, iterating through a series of divmods. The only fancy bit is the %7/2, which maps 1000 -&gt; 3 and 60 -&gt; 2.