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

标签 windows time

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

FILETIME

MFTIME

TimeSpan.TimeSpan(long)

TimeSpan 构造函数确实称这些为“滴答声”——但由于 GetTickCount以毫秒为单位,这听起来更像是短时间内的通用术语,而不是任何特定的术语。

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

最佳答案

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

    .NET 中的
  • DateTimeTimeSpanDateTimeOffset 使用 100ns 滴答,FILETIME 也是如此, MFTIME 和来自 Win32 API 的其他几个。

  • .NET 中的
  • Environment.TickCount 和 Win32 中的 GetTickCount 使用 1 毫秒滴答。

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

在 .NET 空间中,可以说“TimeSpan ticks”或“DateTime ticks”(相对于“Stopwatch Ticks”)。如果您只说“ticks”,您会因为歧义而将其留空。

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

一般来说,因为没有 SI prefix对于 10-7,对于这个时间单位,没有比“100 纳秒单位”更科学有效的术语了。

可以组合 SI 前缀 hecto- (表示因数一百,或 102)和 nano- (表示十亿分之一,或 10−9),因此得到术语“百纳秒”。但是,通常不允许以这种方式组合 SI 前缀(至少根据维基百科和我发现的其他几个来源)。

关于windows - Windows 的 100 纳秒时间单位是否有标准术语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009885/

相关文章:

.net - Windows SDK 7.1 安装失败

java - 我如何比较java中没有格式和数据差异标题的csv

java - 如何将 "9:00 PM EST"转换为 Date 对象

go - 如何在golang中实现随机 sleep

python - 按 Fn 键 Python 3

c# - 如何获取应用程序的安装路径?

windows - 为什么在 Windows 上尝试 Socket.connect 失败需要 1 秒?

c - 使用 Thrust 时在 CUDA 中启动计时内核

java - 使用 Calendar 和 SimpleDateFormat 将时间转换为 "HH:mm:ss"会增加 1 小时

c++ - GetMessage() 会在主消息循环中返回 -1 吗?