.NETでは、日時を表すDateTime・DateTimeOffsetと合わせて、時間間隔を表すTimeSpan構造体が用意されています。 TimeSpanは、例えば「36時間」や「50ミリ秒」といった時間の長さを一つの型で表すために使います。
時間の長さをint・doubleなどの数値型で表そうとした場合、それが秒を表すのか、分を表すのか、といった単位の扱いや変換が煩雑になりがちですが、TimeSpanを使えばそういった煩雑さは解消されます。 TimeSpanでは加減算もサポートされているので、互いに単位の異なる時間間隔の加減算も容易に行うことができます。
TimeSpan構造体
      Imports System
Class Sample
  Shared Sub Main()
    ' 3日と1時間30分0秒
    Dim a As New TimeSpan(3, 1, 30, 00)
    ' aを分単位で表すと何分になるか
    Console.WriteLine("{0} = {1}分", a, a.TotalMinutes)
    ' 210分
    Dim b As TimeSpan = TimeSpan.FromMinutes(210.0)
    ' bは何時間何分か
    Console.WriteLine("{0} = {1}時間{2}分", b, b.Hours, b.Minutes)
    ' -1500ミリ秒
    Dim c As TimeSpan = TimeSpan.FromMilliseconds(-1500)
    ' cを時間単位で表すと何時間になるか
    Console.WriteLine("{0} = {1}時間", c, c.TotalHours)
    ' bとcの合計時間
    Dim d As TimeSpan = b + c
    Console.WriteLine(d)
  End Sub
End Class
       
      実行結果
      3.01:30:00 = 4410分 03:30:00 = 3時間30分 -00:00:01.5000000 = -0.000416666666666667時間 03:29:58.5000000
DateTime・DateTimeOffsetがある特定の時点を表すものであるのに対して、TimeSpanは二つの時刻間の差を表すものとも言えます。 実際、DateTime・DateTimeOffsetで日時の加減算を行う場合、TimeSpanを使うことが出来るようになっています。