2012-07-03 9 views
102

もしそうなら、起動してから合計時間を得る簡単な方法はありますか?C#アプリは、その実行時間を追跡しますか?

+3

あなたのアプリや他のアプリを?私はWMIがこのようなものを追跡するかもしれないと信じていますが、それがあなた自身のアプリなら、起動時に日付を取得するほうがはるかに簡単です。 – Ryan

答えて

164

System.Diagnostics.Processクラスを使用すると、それが実行されているどのくらいの時間を計算するために使用できる開始時間を含むプロパティがあります。

var current = System.Diagnostics.Process.GetCurrentProcess(); 
DateTime startedAt = current.StartTime 
+7

+1 - ニース。それに気付かなかった。 – Oded

+6

驚くばかり!愛を得てください.net – broke

+1

'current.StartTime'はサーバのローカルタイムであり、UTCではないことに注意してください。 – George

7

プロジェクトにはStatic DateTime Variableがあり、メインクラスのコンストラクタにdatetimeを格納できます。この静的変数を参照して現在の時刻と比較すると、結果が得られます

+4

;)ええ、既存の変数から時間を読み取ることもできます;) – TomTom

34

この機能には、StopWatchクラスを使用します。

かなり過剰な場合でも、ユーザーが時計を変更しても、処理中に夏時間の変更があっても常に機能します。 - Julien Lebosquain(私の答えにコメント。)

+9

かなり冗長すぎても、夏時間の変更があっても、ユーザーが時計を変更しても常に機能する唯一の答えですプロセスの実行中は+1です。 –

+1

@JulienLebosquain:ありがとう。私はクレジットでクレジットを返信します。 –

+3

+1は無意味なdownvotesに対抗するために – nawfal

関連する問題