Skip to main content

Time Intelligence Functions

This type of function is used to process date/datetime value.


epoch

epoch(date)
epoch(datetime)

Description

epoch returns a Unix timestamp which is the number of seconds that have elapsed since ‘1970-01-01 00:00:00’ UTC.

You can use this function to return a Unix timestamp based on the current date/datetime or another specified date/datetime.

Return type

Number

Example

Given an AQL expression as below:

epoch(orders.created_at)

The result would be:

created_atepoch(created_at)
2018-06-12 09:26:491528795609
2018-06-121528761600

date_trunc

date_trunc(datetime, datetime_part)
Examples
date_trunc(orders.created_at, 'day')
date_trunc(orders.created_at, 'month')
date_trunc(orders.created_at, 'year')
date_trunc(orders.created_at, 'quarter')
date_trunc(orders.created_at, 'week')
date_trunc(orders.created_at, 'hour')
date_trunc(orders.created_at, 'minute')

Description

Truncates a date/datetime value to the granularity of datetime_part. The datetime value is rounded to the beginning of datetime_part. The supported parts are:

  • 'day': The day in the Gregorian calendar year that contains the datetime value.
  • 'week': The first day of the week in the week that contains the datetime value. Weeks begin on the day that was set in` your Week Start Day Setting
  • 'month': The first day of the month in the month that contains the datetime value.
  • 'quarter': The first day of the quarter in the quarter that contains the datetime value.
  • 'year': The first day of the year in the year that contains the datetime value.
  • 'hour': The hour in the day that contains the datetime value.
  • 'minute': The minute in the hour that contains the datetime value.
tip

All date part has a corresponding short-hand truncate function. Examples below will use the short-hand version.

  • day(orders.created_at) or orders.created_at | day()
  • month(orders.created_at) or orders.created_at | month()
  • year(orders.created_at) or orders.created_at | year()
  • quarter(orders.created_at) or orders.created_at | quarter()
  • week(orders.created_at) or orders.created_at | week()
  • hour(orders.created_at) or orders.created_at | hour()
  • minute(orders.created_at) or orders.created_at | minute()

Return type

date or datetime depending on the input type.


Let us know what you think about this document :)