二つの時点でNowプロパティの値を取得することで、次の例のように処理の経過時間を計測することも出来ます。
DateTime.Nowプロパティから取得した値を使って経過時間を計測する
Imports System
Imports System.Threading
Class Sample
Shared Sub Main()
' 開始時刻を保持
Dim startTime As DateTime = DateTime.Now
' 計測対象の処理と仮定
Thread.Sleep(3000)
' 終了時刻を保持
Dim endTime As DateTime = DateTime.Now
' 経過時間を表示
Console.WriteLine(endTime - startTime)
End Sub
End Class
実行結果例
00:00:03.0026460
大雑把な経過時間が把握できればよい場合はこの方法で十分ですが、より高い精度で計測したい場合はStopwatchクラスを使います。 経過時間の計測についてはランタイム・システム・プラットフォームの情報 §.経過時間でも解説しています。
DateTime・DateTimeOffset同士での減算を行う場合、結果は単純な数値型ではなくTimeSpan型となります。