【问题标题】:How to format time in influxdb select query如何在 influxdb 选择查询中格式化时间
【发布时间】:2015-10-16 08:56:37
【问题描述】:

我是 InfluxDB 的新手。我正在管理 ui 中查询数据。我将时间视为时间戳。是否可以看到它被格式化为日期和时间?

【问题讨论】:

  • 你能定义“时间戳”是什么意思吗? InfluxDB 0.9.1 及更高版本中的管理 UI 以如下格式返回时间:2015-07-17T20:32:58.662703915Z,其中2015-07-17 是年月日,20:32:58.662703915 是小时:分钟:秒:纳秒。我将其称为时间戳并按日期和时间格式化。
  • 我有一个类似的问题,在我的情况下,我正在从 influx CLI shell 运行查询,并且时间打印为 Unix 纪元纳秒。我宁愿看到 RFC 3339 格式,就像 HTTP API 默认做的那样。
  • 管理 UI 功能有限,不建议用于生产。 “thierry”的答案是正确的,使用 CLI 可以控制时间戳格式和精度。

标签: influxdb


【解决方案1】:

虽然thierry 已经回答了这个问题,但这里也是文档的链接:

精度 'rfc3339|h|m|s|ms|u|ns'

指定时间戳的格式/精度:rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (小时), m (分钟), s (秒), ms (毫秒), u (微秒) ), ns (纳秒)。精度默认为纳秒。

https://docs.influxdata.com/influxdb/v1.5/tools/shell/#influx-arguments

【讨论】:

    【解决方案2】:

    从 InfluxDB 1.1 开始,Web 管理界面deprecated(默认禁用)。

    时间戳的精度可以控制返回小时(h)、分钟(m)、秒(s)、毫秒(ms)、微秒(u)或纳秒(ns)。一个特殊的精度选项是RFC3339,它以 RFC3339 格式返回具有纳秒精度的时间戳。 CLI 和 HTTP API 指定所需时间精度的机制不同。

    To set the precision in CLI,您可以在命令行中写入precision <RFC3339|h|m|s|ms|us|ns>,具体取决于您想要的精度。 CLI 的默认精度值为纳秒。

    To set the precision in HTTP API,您将epoch=<h|m|s|ms|us|ns> 作为查询参数传递。精度的默认值为 RFC3339。

    【讨论】:

      【解决方案3】:

      要将 influxdb 时间戳转换为普通时间戳,您可以在控制台上输入:

      涌入-精度 rfc3339

      现在尝试使用您的查询,它应该可以工作。

      更多详情请点击链接: https://www.influxdata.com/blog/tldr-influxdb-tech-tips-august-4-2016/

      【讨论】:

      • 我将它添加为别名。我认为它应该是流入 cli 的默认选项。
      • 否,默认情况下你会得到influxdb时间戳,类似于1465839830100400200,使用RFC3339格式后你会得到2016-06-13T17:43:50.1004002Z
      【解决方案4】:

      您可以通过在 CLI 中输入以下命令来选择RFC 3339 格式:

      precision rfc3339
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-17
        • 2023-03-16
        • 2021-07-06
        • 2016-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多