端くれプログラマの備忘録 C# [C#] 経過時間を計測する

[C#] 経過時間を計測する

StopWatchクラス (System.Diagnostics)を使うと、経過時間を簡単に計測できる。

using System.Diagnostics;
using System.Threading;

Stopwatch sw = new Stopwatch();
sw.Start(); // start measuring
Thread.Sleep(10000);
sw.Stop();  // stop measuring

// Obtains elapsed time.
System.TimeSpan ts = sw.Elapsed;

// Showing elapsed time.
string time = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
    ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
Console.WriteLine("Elapsed time: " + time);

時間計測にはシステムのタイマーを使っているので、精度はハードウェアやオペレーティングシステムに依存する。Frequency及びIsHighResolutionフィールドを使うことで、タイマーの精度や解像度を知ることもできる。

参考サイト

Stopwatch クラス (System.Diagnostics)
http://msdn.microsoft.com/ja-jp/library/system.diagnostics.stopwatch(v=vs.110).aspx