ヘッダー
Visual Basic サンプル集
VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

時刻のたし算

2020/6/24

 

20時間51分 + 30時間52分 を 51時間43分 と計算する

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim time1 As TimeSpan = New TimeSpan(20, 51, 0)
Dim time2 As TimeSpan = New TimeSpan(30, 52, 0)

Dim result As TimeSpan = time1 + time2

Dim st As String = $"{Math.Truncate(result.TotalHours)}:{result:mm\:ss}"
'Dim st As String = String.Format("{0}:{1:mm\:ss}", Math.Truncate(result.TotalHours), result) '←VB2013以前の場合
Debug.WriteLine(st)

この例を実行すると 51:43:00 と出力されます。 → Debug.WriteLineが表示される場所

 

20時間51分 + 30時間52分 を 2日と3時間43分 と計算する

VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim time1 As TimeSpan = New TimeSpan(20, 51, 0)
Dim time2 As TimeSpan = New TimeSpan(30, 52, 0)

Dim result As TimeSpan = time1 + time2

Debug.WriteLine(result.ToString("d\日\とh\時\間m\分"))

この例を実行すると 2日と3時間43分と出力されます。 → Debug.WriteLineが表示される場所

メモ:表示の指定方法が違うだけで内部で持っている値は 「51時間43分」 でも 「2日と3時間43分」でも同じです。

 

40時間後を求める

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim sourceDate As Date = #8/20/2024#
Dim result As Date = sourceDate.AddHours(40)

Debug.WriteLine(result.ToString("yyyy\/MM\/dd HH\:mm\:ss"))

実行すると 2024/08/21 16:00:00 と表示されます。→ Debug.WriteLineが表示される場所