1.567
または22.654
またはのような数値がたくさんあり、220.123
それらを時間に変換したい00:00:00.000 (hours/Minutes/Seconds.Miliseconds)
これを効率的に達成する方法について何かアドバイスはありますか?あまりいじることなく。
可能な場合はvb.netソリューションが必要です。
よろしくお願いします。
1.567
または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)