有多少种方法可以测量时间?

How many ways are there to measure time?

到目前为止,我已经统计了三种在C#中测量当前时间或时间差的方法:

以及以下代表 time/timespan 测量值的类型:

还有其他的吗?


另外,"Tick"的定义好像不一致。例如:

这是怎么回事?


此外,各种时间测量之间有什么区别methods/types,在什么情况下应该使用一个而不是另一个?

What's up with that?

您 link 每个文档页面的第一句话都非常清楚地描述了它们的目的(添加了重点):

the current date and time on this computer, expressed as the local time.

Gets the number of milliseconds elapsed since the system started.

Provides a set of methods and properties that you can use to accurately measure elapsed time.

Represents an instant in time, typically expressed as a date and time of day.

Represents a time interval.

(两个时间点之间的差异)

所以DateTimeTimeSpan不能互换,而LocationDistance是不能互换的。它们 相关 但代表不同的事物。

如果其中有任何不清楚的地方,或者您需要进一步说明,请具体说出您感到困惑的地方。


Also, the definition of "Tick" seems to be inconsistent.

因为它们是在定义它们的上下文中定义的。据我所知,"ticks" 没有 "industry-standard" 定义。某些类型(如 Stopwatch)牺牲范围以获得更高的精度,而其他类型(如 DateTime)允许更大的范围但不能精确到毫秒。


Are there any others?

你没有提到的一个是:

Generates an event after a set interval, with an option to generate recurring events.

同样,它有不同的用途。它旨在定期执行某些操作。

我不确定你知道的范围有多广"any others"。如果您有一个 特定的 需求,但其中一个 类 无法满足您的需求,请将其添加到您的问题中。