TimeSpanのコンストラクタでは、時分秒に負の値を指定したり、36時間90分といった値を指定することができます。 負数や大きな値を指定した場合でも、TimeSpanの最大・最小値を越えない限り例外はスローされません。 時間に負の値・分に正の値といった指定もすることが出来ます。 時分秒単位以外にも、DateTime・DateTimeOffsetの精度と同じ単位であるタイマ刻み数(=100ナノ秒)単位の値を指定することも出来ます。

コンストラクタを使ってTimeSpanインスタンスを作成する
Imports System

Class Sample
  Shared Sub Main()
     ' 3日と1時間30分
    Dim a As New TimeSpan(3, 1, 30, 00)

    ' -3時間+90分 (-1時間30分)
    Dim b As New TimeSpan(-3, 90, 0)

    ' 1500ミリ秒
    Dim c As New TimeSpan(0, 0, 0, 0, 1500)

    ' 30,000,000 × 100ナノ秒 = 3秒
    Dim d As New TimeSpan(30000000)

    Console.WriteLine(a)
    Console.WriteLine(b)
    Console.WriteLine(c)
    Console.WriteLine(d)
  End Sub
End Class
実行結果
3.01:30:00
-01:30:00
00:00:01.5000000
00:00:03

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。