Documentation

处理持续时间

A duration 类型表示带有纳秒精度的时间长度。

类型名称: duration

持续时间语法

持续时间字面量包含整数和单位说明符。
Flux 支持以下单位说明符:

  • ns: 纳秒
  • us: 微秒
  • ms: 毫秒
  • s: 秒
  • m: 分钟
  • h: 小时
  • d: 天
  • w: 周
  • mo: 日历月份
  • y: 日历年
1ns // 1 nanosecond
1us // 1 microsecond
1ms // 1 millisecond
1s  // 1 second
1m  // 1 minute
1h  // 1 hour
1d  // 1 day
1w  // 1 week
1mo // 1 calendar month
1y  // 1 calendar year

3d12h4m25s // 3 days, 12 hours, 4 minutes, and 25 seconds

在持续时间文字中不要包含前导零

持续时间字面量的整数部分不应包含前导零。前导零会被解析为单独的整数字面量。 例如:

01m // parsed as 0 (integer literal) and 1m (duration literal)
02h05m // parsed as 0 (integer literal), 2h (duration literal), 0 (integer literal), and 5m (duration literal)

将数据类型转换为持续时间

使用duration()函数将以下基本类型转换为持续时间:

  • string: 作为持续时间字符串解析并转换为持续时间。
  • int:解析为纳秒并转换为持续时间。
  • uint:解析为纳秒并转换为持续时间。
duration(v: "1h30m")
// Returns 1h30m

duration(v: 1000000)
// Returns 1ms

duration(v: uint(v: 3000000000))
// Returns 3s

Flux不支持持续时间列。

操作持续时间

对持续时间进行算术运算

要执行像添加、减去、乘以或除以持续时间值这样的操作:

  1. 使用 int()uint() 将持续时间值转换为数值。
  2. 使用 算术运算符 对数值进行操作。
  3. 使用 duration() 将计算得到的数值转换为持续时间。
duration(v: int(v: 6h4m) + int(v: 22h32s))
// Returns 1d4h4m32s

duration(v: int(v: 22h32s) - int(v: 6h4m))
// Returns 15h56m32s

duration(v: int(v: 32m10s) * 10)
// Returns 5h21m40s

duration(v: int(v: 24h) / 2)
// Returns 12h

将持续时间添加到时间值

  1. 导入date
  2. 使用 date.add() 为时间值添加持续时间。
import "date"

date.add(d: 1w, to: 2021-01-01T00:00:00Z)
// Returns 2021-01-08T00:00:00.000000000Z

从时间值中减去一个持续时间

  1. 导入date
  2. 使用 date.sub() 从一个时间值中减去一个持续时间。
import "date"

date.sub(d: 1w, from: 2021-01-01T00:00:00Z)
// Returns 2020-12-25T00:00:00.000000000Z


Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: