date.truncate() function

date.truncate() returns a time truncated to the specified duration unit.

Function type signature
(t: A, unit: duration, ?location: {zone: string, offset: duration}) => time where A: Timeable
For more information, see Function type signatures.



(Required) Time to operate on.

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


(Required) Unit of time to truncate to.

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


Location used to determine timezone. Default is the location option.


Truncate time values

import "date"
import "timezone"

option location = timezone.location(name: "Europe/Madrid")

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

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

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

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

// Returns 2019-06-02T22:00:00.000000000Z
date.truncate(t: 2019-06-03T13:59:01Z, unit: 1mo)

// Returns 2019-05-31T22:00:00.000000000Z
date.truncate(t: 2019-06-03T13:59:01Z, unit: 1y)// Returns 2018-12-31T23:00:00.000000000Z

Truncate time values using relative durations

import "date"

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

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

Query data from this year

import "date"

from(bucket: "example-bucket")
    |> range(start: date.truncate(t: now(), unit: 1y))

Query data from this calendar month

import "date"

from(bucket: "example-bucket")
    |> range(start: date.truncate(t: now(), unit: 1mo))

Was this page helpful?

Thank you for your feedback!

Introducing InfluxDB 3.0

The new core of InfluxDB built with Rust and Apache Arrow. Available today in InfluxDB Cloud Dedicated.

Learn more

State of the InfluxDB Cloud Serverless documentation

The new documentation for InfluxDB Cloud Serverless is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.