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