以datetime格式显示float的方法

时间:2009-11-20 07:59:26

标签: c# datetime floating-point

我需要一个c#中的方法,它使我看起来像一个双倍/浮点数的日期时间。

例如

1.5 - > 01:30 2.8 - > 02:48 25.5 - > 25:30(注意:不要显示为日,显示整个小时甚至超过24小时)

2 个答案:

答案 0 :(得分:5)

听起来我觉得你不想DateTime - 你想要一个TimeSpan

TimeSpan ts = TimeSpan.FromMinutes(x);

TimeSpan ts = TimeSpan.FromHours(x);

(取决于您的具体要求)。

请注意,“2.8”不会完全 2.8,因此您可能无法完全您期望的结果 - 由于浮点基数的正常原因等。

虽然在当前发布的框架版本中没有TimeSpan值的自定义格式,但它将在.NET 4.0中出现。

答案 1 :(得分: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)