一尘不染

将秒转换为(小时:分钟:秒:秒:秒)时间的最佳方法是什么?

c#

将秒转换为(小时:分钟:秒:秒:秒)时间的最佳方法是什么?

假设我有80秒,.NET中是否有任何专门的类/技术可以让我将这80秒转换为(00h:00m:00s:00ms)格式,如DateTime或其他?


阅读 281

收藏
2020-05-19

共1个答案

一尘不染

对于 .Net <= 4.0,请使用TimeSpan类。

TimeSpan t = TimeSpan.FromSeconds( secs );

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

(如Inder Kumar Rathore所述)对于 .NET > 4.0,您可以使用

TimeSpan time = TimeSpan.FromSeconds(seconds);

//here backslash is must to tell that colon is
//not the part of format, it just a character that we want in output
string str = time .ToString(@"hh\:mm\:ss\:fff");

(摘自Nick Molyneux)确保秒数小于TimeSpan.MaxValue.TotalSeconds避免发生异常的时间。

2020-05-19