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

Was this page helpful?

Thank you for your feedback!

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.