格式时间从秒到毫秒:秒:毫秒:微秒

问题描述:

我有这个疑问,如果我有时间以秒为单位,并且我想表示它: “mm:ss:milliseconds:microseconds”,是正确的码?格式时间从秒到毫秒:秒:毫秒:微秒

var minutes = timeCurrent/60; 
var seconds = timeCurrent % 60; 
var milliseconds = timeCurrent * 1000; 
var microseconds = timeCurrent * 1000000; 
milliseconds = milliseconds % 1000; 
microseconds = nanoseconds % 1000000; 
currentTime.text = String.Format("{0:00}:{1:00}:{2:000}:{3:000000}", 
      minutes, seconds, milliseconds, microseconds); 

1秒是1 * 10^6微秒,1秒是1000毫秒。这个代码是否正确?微秒有6位数字。

感谢

+0

你为什么不使用'DateTime'类? – Phiter

+0

Whats timeCurrent? –

您可以使用:

TimeSpan t = TimeSpan.FromSeconds(timeCurrent ); 

string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s:{3:D3}ms", 
       t.Hours, 
       t.Minutes, 
       t.Seconds, 
       t.Milliseconds); 

or 

    var totalMiliSeconds = t.TotalMilliseconds; 

    var totaolMicroSeconds = 1000.0 * t.TotalMilliseconds; 
+0

谢谢,但我需要微秒 –

+0

timeCurrent是一个double值,是Unity中deltaTime的总和。 –

+0

timeCurrent是总秒数还是ticks? – Mohit