26

我正在将一个应用程序从 ActionScript3.0 (Flex) 移植到 C# (WPF)。AS3.0 有一个名为getTimer()的方便实用程序,它返回自 Flash 虚拟机启动以来的时间(以毫秒为单位)。我在 C# 中通过类搜索

DateTime
DispatcherTimer
System.Diagnostics.Process
System.Diagnostics.Stopwatch

但没有找到这样的东西。这对我来说似乎是一个非常基本的功能。例如在 Mono 上运行的 Unity3D 有一些熟悉的东西。我在这里错过了一些实用程序吗?

提前致谢。

4

1 回答 1

55

Process.GetCurrentProcess().StartTime是你的朋友。

..so 获取自开始以来经过的时间:

DateTime.UtcNow - Process.GetCurrentProcess().StartTime.ToUniversalTime()

或者,如果您需要更多定义,System.Diagnostics.Stopwatch可能更可取。如果是这样,请在您的应用启动时启动秒表:

Stopwatch sw = Stopwatch.StartNew();

sw.Elapsed然后在执行运行期间查询该属性。

于 2012-04-15T10:15:40.227 回答