2012-07-03 7 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이 있고 기본 클래스의 생성자에 날짜 시간을 저장할 수 있습니다. 이 정적 변수를 참조하고 현재 시간과 비교하면 결과를 얻을 수 있습니다.

+4

;) 그래, 당신은 또한 기존 변수에서 시간을 읽을 수 있습니다;) – TomTom

34

이 기능을 사용하려면 StopWatch 클래스를 사용하십시오.

잔인 함에도 불구하고 사용자가 시계를 변경하거나 프로세스 중에 일광 절약 시간제가 변경되는 경우에도 항상 과도하게 작동합니다. - Julien Lebosquain (내 대답에 코멘트.)

+9

꽤 잔인한 경우에도 사용자가 시계를 변경하더라도 일광 절약 시간제 변경이 있더라도 항상 효과가있는 유일한 대답입니다. 프로세스가 실행되는 동안 +1. –

+1

@JulienLebosquain : 감사. 그 점을 정답으로 추가 할 것입니다. –

+3

무의미한 downvotes를 상쇄하는 +1 – nawfal

관련 문제