C#アプリは実行時間を追跡しますか?


102

もしそうなら、それが始まってからの合計時間を取得する簡単な方法はありますか?


3
あなたのアプリまたは別のアプリ?WMIはこのようなものを追跡する可能性があると思いますが、それが独自のアプリである場合は、起動時に日付を取得する方がはるかに簡単です。
Ry-

回答:


165

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

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

6
驚くばかり!お奨めの愛の.NET
破った

1
current.StartTimeサーバーのローカル時刻であり、UTCではないことに注意してください。
ジョージ

33

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

たとえやりすぎでも、ユーザーが時計を変更したり、プロセス中に夏時間の変更があったとしても、常に機能します。- ジュリアンLebosquain(私の答えにコメント。)


9
かなりやり過ぎたとしても、ユーザーが時計を変更しても、プロセス実行中に夏時間の変更があったとしても、+ 1が常に機能する唯一の答えです。
Julien Lebosquain 2012

1
@JulienLebosquain:ありがとう。私は返済にそのポイントをクレジットで追加します。
Nikhil Agrawal 2012

6

あなたはStatic DateTime Variableあなたのプロジェクトのために持っていることができ、あなたのメインクラスのコンストラクターに日付時刻を保存することができます。この静的変数を参照し、現在の時刻と比較すると、結果を得るのに役立ちます


4
;)はい、既存の変数から時刻を読み取ることもできます;)
TomTom
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.