将双倍转换为时间格式

时间:2013-03-26 10:54:26

标签: vb.net type-conversion

我有一堆我得到的数字,如1.56722.654220.123,我想将它们转换为00:00:00.000 (hours/Minutes/Seconds.Miliseconds)

关于如何有效地实现这一目标的任何建议?没有太多的摆弄。

我需要一个vb.net解决方案。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

使用DateTime.AddHours方法。它需要double个值作为参数:

Dim d as DateTime = (new DateTime()).AddHours(1.567)

结果为{0001-01-01 01:34:01}

然后,您可以使用DateTime.ToString()方法获得所需格式的时间:

Dim s as String = d.ToString("HH:mm:ss.fff")

结果为"01:34:01.200"

它适用于从023.99

的所有值

<强>更新

如果您的输入值代表小时数且可能大于24小时,则可以使用TimeSpan代替DateTime

Dim d as TimeSpan = TimeSpan.FromHours(220.123)
Dim s As String = string.Format("{0}:{1}:{2}.{3}", CInt(d.TotalHours), d.Minutes, d.Seconds, d.Milliseconds)