【问题标题】:Does a C# app track how long its been running?C# 应用程序是否跟踪它运行了多长时间?
【发布时间】:2012-07-04 04:03:56
【问题描述】:

如果是这样,有没有一种简单的方法可以获取自开始以来的总时间?

【问题讨论】:

  • 您的应用还是其他应用?我相信 WMI 可能会跟踪这样的事情,但如果它是您自己的应用程序,那么仅获取启动日期会简单得多。

标签: c# .net


【解决方案1】:

System.Diagnostics.Process 类有一个包含开始时间的属性,您可以使用它来计算它已经运行了多长时间:

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

【讨论】:

  • 请注意current.StartTime 是服务器的本地时间,而不是UTC。
  • current.StartTime.ToUniversalTime()
【解决方案2】:

将此功能使用StopWatch 类。

即使有点矫枉过正,它总是会起作用,即使用户更改了时钟,或者即使在此过程中进行了一些夏令时更改。 - Julien Lebosquain(评论我的回答。)

【讨论】:

  • 即使有点矫枉过正,这是唯一始终有效的答案,即使用户更改时钟,即使在运行过程中有一些夏令时更改,所以 +1。
  • @JulienLebosquain:谢谢。我会在我的回答中加上应得的积分。
【解决方案3】:

您可以为您的项目设置Static DateTime Variable,并将日期时间存储在主类的构造函数中。引用此静态变量,并与当前时间进行比较可以帮助您获得结果

【讨论】:

  • ;) 是的,您也可以从现有变量中读出时间;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 2023-03-10
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多