我有一堆数字,它们类似于1.567
or 22.654
,220.123
我想将它们转换为时间00:00:00.000 (hours/Minutes/Seconds.Miliseconds)
关于如何有效地实现这一目标的任何建议?没有太多的摆弄。
在可能的情况下,我需要一个 vb.net 解决方案。
我在这里先向您的帮助表示感谢。
我有一堆数字,它们类似于1.567
or 22.654
,220.123
我想将它们转换为时间00:00:00.000 (hours/Minutes/Seconds.Miliseconds)
关于如何有效地实现这一目标的任何建议?没有太多的摆弄。
在可能的情况下,我需要一个 vb.net 解决方案。
我在这里先向您的帮助表示感谢。
使用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"
它适用于从0
到的所有值23.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)