Documentation

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.

Parameters

t

(Required) Time to operate on.

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

unit

(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

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

Examples

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!


New in InfluxDB 3.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2