Apakah aplikasi C # melacak berapa lama sudah berjalan?

102

Dan jika ya, apakah ada cara mudah untuk mengetahui total waktu sejak dimulai?

bangkrut
sumber
3
Aplikasi Anda atau aplikasi lain? Saya yakin WMI dapat melacak sesuatu seperti ini, tetapi jika itu aplikasi Anda sendiri, jauh lebih mudah untuk mendapatkan tanggal saat startup.
Ry-

Jawaban:

165

The System.Diagnostics.Processkelas memiliki properti yang berisi waktu mulai yang dapat Anda gunakan untuk menghitung berapa lama telah berjalan:

var current = System.Diagnostics.Process.GetCurrentProcess();
DateTime startedAt = current.StartTime
Lee
sumber
6
Hebat! Harus cinta .net
melanggar
1
Ketahuilah bahwa current.StartTimeini adalah waktu lokal server, bukan UTC.
George
33

Gunakan StopWatchkelas untuk fitur ini.

Meskipun cukup berlebihan, itu akan selalu berfungsi, bahkan jika pengguna mengubah jam atau bahkan jika ada beberapa perubahan musim panas selama proses. - Julien Lebosquain (Komentar untuk jawaban saya.)

Nikhil Agrawal
sumber
9
Sekalipun cukup berlebihan, itulah satu-satunya jawaban yang akan selalu berfungsi, bahkan jika pengguna mengubah jam, meskipun ada beberapa perubahan musim panas selama proses berjalan jadi +1.
Julien Lebosquain
1
@JulienLebosquain: Terima kasih. Saya akan menambahkan poin itu dalam jawaban saya dengan kredit yang jatuh tempo.
Nikhil Agrawal
6

Anda dapat Memiliki Static DateTime Variableuntuk Proyek Anda, dan menyimpan tanggal waktu di Konstruktor Kelas Utama Anda. Merujuk Variabel Statis ini, dan membandingkan dengan waktu saat ini membantu Anda mencapai hasil

Akhil
sumber
4
;) ya, Anda juga dapat hanya membaca waktu dari variabel yang ada;)
TomTom