【问题标题】:I'm having trouble figuring out what this time stamp means我无法弄清楚这个时间戳的含义
【发布时间】:2012-11-22 20:53:55
【问题描述】:

我一直在试图弄清楚哪种时间戳采用这种形式:

2012-07-02T21:27:41.229431

似乎是某种unix时间,但我不知道小数点后的6位代表什么。

我假设 21 是小时,27 是分钟,41 是秒。显然下一个将是毫秒,但似乎 6 位数的精度太高了。有人可以帮忙吗?

顺便说一句,这是用 Python 生成的,如果有帮助的话。

【问题讨论】:

    标签: python time timestamp unix-timestamp


    【解决方案1】:

    ISO-8601

    小数点后6位为微秒。

    【讨论】:

      【解决方案2】:

      小数点后的数字是秒的分数。

      六位数字表示微秒,即10^-6秒,因此需要6位数字来表示。

      请参阅此处的表格:http://en.wikipedia.org/wiki/Metric_prefix,获取完整的公制前缀列表及其对应的小数点后位数。

      时间戳的精度取决于用于测量它的时钟的精度。因为周期是频率的倒数,所以频率为 1 kHz 的时钟能够计算毫秒,而 1 MHz 的时钟则需要微秒。纳秒需要 1 GHz 时钟等。

      【讨论】:

      • 你是第一个! -- 我需要等 7 分钟……你的时间到了。
      • OK :),同时我将通过与时钟速度相关的方式来改进答案,以响应您对可能精度的询问
      • 这六位数字仅代表微秒,因为恰好有六个。可能很容易有一个数字或 10。它只是一个普通的小数部分。这不是 ISO 8601 格式所特有的。
      【解决方案3】:

      秒只是一个普通的十进制数,因此“41.229431”表示分钟开始后的 41.229431 秒。由于小数点后有六位数字,这意味着在这种情况下时间戳的精度会扩展到微秒,但数字可能会更少或更多。

      【讨论】:

      • 我想我没有意识到时间戳如此精确。
      • 考虑到大多数现代计算机 CPU 的时钟速度以千兆赫(1 GHz = 每秒十亿)为单位,它们可以非常可靠地测量微秒。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      相关资源
      最近更新 更多