I'd use a TimeSpan
structure and in particular the FromMilliseconds static method:
var timespan = TimeSpan.FromMilliseconds(Environment.TickCount);
then you have all the values you want and you can use the various ToString
options as well, namely something like
timespan.ToString("dd:hh:mm:ss:ff")
Check out this article on MSDN for the custom TimeSpan
string formats.