date.truncate() function

The date.truncate() function truncates a time to a specified unit.

import "date"

  t: 2019-07-17T12:05:21.012Z,
  unit: 1s

// Returns 2019-07-17T12:05:21.000000000Z

Truncate to weeks

When truncating a time value to the week (1w), weeks are determined using the Unix epoch (1970-01-01T00:00:00Z UTC). The Unix epoch was on a Thursday, so all calculated weeks begin on Thursday.



The time to operate on. Use an absolute time, relative duration, or integer. Durations are relative to now().


The unit of time to truncate to.

Only use 1 and the unit of time to specify the unit. For example: 1s, 1m, 1h.


Truncate time values
import "date"

date.truncate(t: 2019-06-03T13:59:01.000000000Z, unit: 1s)
// Returns 2019-06-03T13:59:01.000000000Z

date.truncate(t: 2019-06-03T13:59:01.000000000Z, unit: 1m)
// Returns 2019-06-03T13:59:00.000000000Z

date.truncate(t: 2019-06-03T13:59:01.000000000Z, unit: 1h)
// Returns 2019-06-03T13:00:00.000000000Z
Truncate time values using durations
import "date"

option now = () => 2020-01-01T00:00:30.500000000Z

date.truncate(t: -30s, unit: 1s)
// Returns 2019-12-31T23:59:30.000000000Z

date.truncate(t: -1m, unit: 1m)
// Returns 2019-12-31T23:59:00.000000000Z

date.truncate(t: -1h, unit: 1h)
// Returns 2019-12-31T23:00:00.000000000Z

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.