有多少种方法可以测量时间?
How many ways are there to measure time?
到目前为止,我已经统计了三种在C#中测量当前时间或时间差的方法:
以及以下代表 time/timespan 测量值的类型:
还有其他的吗?
另外,"Tick"的定义好像不一致。例如:
Environment.TickCount
测量 1 毫秒间隔。
DateTime.Ticks
和 TimeSpan.Ticks
测量 100 纳秒间隔。
Stopwatch.ElapsedTicks
基于 Stopwatch.Frequency
并且确切的时间间隔可能因系统而异。
这是怎么回事?
此外,各种时间测量之间有什么区别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.
(两个时间点之间的差异)
所以DateTime
和TimeSpan
不能互换,而Location
和Distance
是不能互换的。它们 相关 但代表不同的事物。
如果其中有任何不清楚的地方,或者您需要进一步说明,请具体说出您感到困惑的地方。
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"。如果您有一个 特定的 需求,但其中一个 类 无法满足您的需求,请将其添加到您的问题中。
到目前为止,我已经统计了三种在C#中测量当前时间或时间差的方法:
以及以下代表 time/timespan 测量值的类型:
还有其他的吗?
另外,"Tick"的定义好像不一致。例如:
Environment.TickCount
测量 1 毫秒间隔。DateTime.Ticks
和TimeSpan.Ticks
测量 100 纳秒间隔。Stopwatch.ElapsedTicks
基于Stopwatch.Frequency
并且确切的时间间隔可能因系统而异。
这是怎么回事?
此外,各种时间测量之间有什么区别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.
(两个时间点之间的差异)
所以DateTime
和TimeSpan
不能互换,而Location
和Distance
是不能互换的。它们 相关 但代表不同的事物。
如果其中有任何不清楚的地方,或者您需要进一步说明,请具体说出您感到困惑的地方。
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"。如果您有一个 特定的 需求,但其中一个 类 无法满足您的需求,请将其添加到您的问题中。