Вы путаете свойства, предоставляющие общую сумму, выраженную в данной единице , со свойствами, дающими часть значения, когда вы разбиваете его на составляющие (дни, часы , минуты, секунды, миллисекунды, тики).
С ними вы получаете целочисленный остаток для каждой категории. Таким образом, Milliseconds
всегда будет между 0 и 999 (количество миллисекунд в секунду - 1).
Или другой пример: если у вас 72 минуты, TotalMinutes
равно 72, но Minutes
равно 12 .
Это очень похоже на функцию DecodeDateTime
, чтобы разбить TDateTime
.
И для того, чего вы хотите достичь, вам определенно нужно использовать свойство TotalMilliseconds
, как указывал TridenT, но код для GetMilliseconds
действительно верен в TimeSpan
.