Verstrichene Zeit in Millisekunden in formatierten String (Tage, Stunden, Minute, Sekunden, Millisekunden) umwandeln

// Konstanten für die Umrechnung
private const uint uiTicksPerDay = 86400000;
private const uint uiTicksPerHour = 3600000;
private const uint uiTicksPerMinute = 60000;
private const uint uiTicksPerSecond = 1000;

// verstrichene Millisekunden übergeben
private string GetUpTime(uint uiMilliSeconds)
{
    uint uiDays = uiMilliSeconds / uiTicksPerDay;
    uiMilliSeconds -= uiDays * uiTicksPerDay;
    uint uiHours = uiMilliSeconds / uiTicksPerHour;
    uiMilliSeconds -= uiHours * uiTicksPerHour;
    uint uiMinutes = uiMilliSeconds / uiTicksPerMinute;
    uiMilliSeconds -= uiMinutes * uiTicksPerMinute;
    uint uiSeconds = uiMilliSeconds / uiTicksPerSecond;
    uiMilliSeconds -= uiSeconds * uiTicksPerSecond;

    return uiDays.ToString() + "d " + uiHours.ToString() + "h " + uiMinutes + "m " + uiSeconds.ToString() + "s " + uiMilliSeconds.ToString() + "ms";
}