2009-11-20 123 views
1

我需要一個c#中的方法,使我看起來像一個雙/浮動日期時間的字符串。以日期時間格式顯示浮動的方法

例如

1.5 - > 01:30 2.8 - > 2點48分25.5 - > 25:30(注意:不顯示爲一天,顯示完整的小時甚至其超過24)

回答

3

嘗試以下操作:

string ToTime(double hours) 
{ 
    var span=TimeSpan.FromHours(hours); 
    return string.Format("{0}:{1:00}:{2:00}", 
     (int)span.TotalHours, span.Minutes, span.Seconds); 
} 

或者,如果你不想秒:

string.Format("{0}:{1:00}", (int)span.TotalHours, span.Minutes) 
5

就像你不希望這聽起來我DateTime - 你想要一個TimeSpan

TimeSpan ts = TimeSpan.FromMinutes(x); 

TimeSpan ts = TimeSpan.FromHours(x); 

(取決於您的確切要求)。

注意,「2.8」不會是正好2.8,所以你可能不會得到你所期望的結果正好 - 浮點基地等

正常原因雖然沒有自定義格式對於當前發佈的框架版本中的TimeSpan值,它將在.NET 4.0中提供。

+0

喬恩,請停止skeeting我;-) – Konamiman 2009-11-20 08:13:40