DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

パソコンが起動してからの経過時間を取得する

System.Environment.TickCountプロパティは、コンピュータが最後に起動してからの経過時間をミリ秒単位で返します。タイマの解像度は500ミリ秒以上です。コンピュータがスタンバイや休止状態などになっていた時間は勘定に入れません。

Environment.TickCountプロパティは、ベンチマークの計測など、時間の間隔を測るために使われることも多いです。より高精度で時間の間隔を測る方法は、「より高い精度で時間を計測する」をご覧ください。

.NET Framework 1.1までは、Int32.MaxValueミリ秒(2,147,483,647ミリ秒、約24.9日)稼動し続けた場合、TickCountプロパティは0に戻ります。.NET Framework 2.0からは、Int32.MaxValueミリ秒稼動し続けた場合、Int32.MinValue(-2,147,483,648)になります。

.NET Framework 2.0でも.NET Framework 1.1と同様に負の値になることなく0に戻るような値を取得するには、次のようにします(ヘルプにあります)。

VB.NET
コードを隠すコードを選択
Dim tickCount As Integer = System.Environment.TickCount And Integer.MaxValue
C#
コードを隠すコードを選択
int tickCount = System.Environment.TickCount & int.MaxValue;

なお、.NET Framework 2.0以降のVB.NETでは、My.Computer.Clock.TickCountプロパティでも取得できます。

  • 履歴:
  • 2007/2/18 .NET Framework 2.0に関する記述を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。