Windows的100纳秒时间单位是否有标准术语?

时间:2017-03-24 22:04:19

标签: windows time

Windows(或相关技术)中有些地方的时间以100纳秒为单位计算。

FILETIME

MFTIME

TimeSpan.TimeSpan(long)

TimeSpan构造函数确实调用了这些“滴答声” - 但由于GetTickCount计算毫秒数,这听起来更像是短时间内的通用术语而不是任何特定的术语。

我可以将这些内容描述为“100纳秒单位”,但在编写文档和注释或命名变量时,这有点笨拙。我可以提出一个术语,但如果有一个标准的,或者甚至是一个常见的,那么我宁愿使用它。

3 个答案:

答案 0 :(得分:1)

Ticks是正确的术语,至少在现代C#用法中(如https://msdn.microsoft.com/en-us/library/system.timespan.ticks(v=vs.110).aspx所述)。 GetTickCount早于{但未实际尝试定义刻度线'。

答案 1 :(得分:1)

“Tick”确实是一个通用术语。

    .NET中的
  • DateTimeTimeSpanDateTimeOffset使用100ns刻度,FILETIMEMFTIME和其他几个来自Win32 API。

  • .NET中的
  • Environment.TickCount和Win32中的GetTickCount使用1ms刻度。

  • System.Diagnostics.Stopwatch使用的滴答大小因系统而异,具体取决于该系统的硬件功能。其长度由其Frequency属性确定。

由于10 -8 没有SI prefix,因此这个时间单位没有比“100纳秒单位”更好的科学术语。但是,在.NET空间中,可以接受“TimeSpan ticks”或“DateTime ticks”(而不是“Stopwatch Ticks”)。如果你只是说“滴答声”,你就会把它打开以容易模糊。

事实上,你会发现一个非常常见的错误是someStopwatch.ElapsedTicks的使用不当。该修复程序是一个简单的.字符:someStopwatch.Elapsed.Ticks

答案 2 :(得分:1)

我认为这不是一个标准术语,但我看到了:

  • hns代表"数百纳秒"
  • 值填充为纳秒(例如,16000 ns而不是160纳秒)或表示为十进制毫秒数(16.000 ms)
  • tick可能是合适的,因为它通常与上下文中的任何时钟有关(GetTickCount命名不佳)