แอป 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
George

33

ใช้StopWatchคลาสสำหรับคุณสมบัตินี้

แม้ว่าจะใช้งานมากเกินไป แต่ก็ยังใช้งานได้เสมอแม้ว่าผู้ใช้จะเปลี่ยนนาฬิกาหรือแม้ว่าจะมีการเปลี่ยนแปลงเวลาออมแสงในระหว่างดำเนินการก็ตาม - Julien Lebosquain (แสดงความคิดเห็นต่อคำตอบของฉัน)


9
แม้ว่าจะใช้งานมากเกินไป แต่นั่นเป็นคำตอบเดียวที่จะใช้ได้ผลเสมอแม้ว่าผู้ใช้จะเปลี่ยนนาฬิกาแม้ว่าจะมีการเปลี่ยนแปลงเวลาออมแสงบ้างในระหว่างดำเนินการก็ตามเพื่อให้ +1
Julien Lebosquain

1
@JulienLebosquain: ขอบคุณ ฉันจะเพิ่มประเด็นนั้นในคำตอบของฉันด้วยเครดิตที่ครบกำหนด
Nikhil Agrawal

6

คุณสามารถมีStatic DateTime Variableสำหรับโครงการของคุณและเก็บวันที่และเวลาในตัวสร้างของคลาสหลักของคุณ การอ้างอิงตัวแปรคงที่นี้และการเปรียบเทียบกับเวลาปัจจุบันช่วยให้คุณบรรลุผลลัพธ์


4
;) ใช่คุณยังสามารถ jsut อ่านเวลาจากตัวแปรที่มีอยู่ได้;)
TomTom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.