NoteSince version 3.0.0-alpha.8, the
::from::functions (e.g.time::from::millis()) now use underscores (e.g.time::from_millis()) to better match the intent of the function and method syntax.
These functions can be used when working with and manipulating datetime values.
Many time functions take an option<datetime> in order to return certain values from a datetime such as its hours, minutes, day of the year, and so in. If no argument is present, the current datetime will be extracted and used. As such, all of the following function calls are valid and will not return an error.
time::hour(d'2024-09-04T00:32:44.107Z'); time::hour(); time::minute(d'2024-09-04T00:32:44.107Z'); time::minute(); time::yday(d'2024-09-04T00:32:44.107Z'); time::yday();
| Function | Description | 
|---|---|
time::ceil() | Rounds a datetime up to the next largest duration | 
time::day() | Extracts the day as a number from a datetime or current datetime | 
time::epoch | Constant datetime representing the UNIX epoch | 
time::floor() | Rounds a datetime down by a specific duration | 
time::format() | Outputs a datetime according to a specific format | 
time::group() | Groups a datetime by a particular time interval | 
time::hour() | Extracts the hour as a number from a datetime or current datetime | 
time::max() | Returns the greatest datetime from an array | 
time::maximum | Constant representing the greatest possible datetime | 
time::micros() | Extracts the microseconds as a number from a datetime or current datetime | 
time::millis() | Extracts the milliseconds as a number from a datetime or current datetime | 
time::min() | Returns the least datetime from an array | 
time::minimum | Constant representing the least possible datetime | 
time::minute() | Extracts the minutes as a number from a datetime or current datetime | 
time::month() | Extracts the month as a number from a datetime or current datetime | 
time::nano() | Returns the number of nanoseconds since the UNIX epoch until a datetime or current datetime | 
time::now() | Returns the current datetime | 
time::round() | Rounds a datetime to the nearest multiple of a specific duration | 
time::second() | Extracts the second as a number from a datetime or current datetime | 
time::timezone() | Returns the current local timezone offset in hours | 
time::unix() | Returns the number of seconds since the UNIX epoch | 
time::wday() | Extracts the week day as a number from a datetime or current datetime | 
time::week() | Extracts the week as a number from a datetime or current datetime | 
time::yday() | Extracts the yday as a number from a datetime or current datetime | 
time::year() | Extracts the year as a number from a datetime or current datetime | 
time::is_leap_year() | Checks if given datetime is a leap year | 
time::from_micros() | Calculates a datetime based on the microseconds since January 1, 1970 0:00:00 UTC. | 
time::from_millis() | Calculates a datetime based on the milliseconds since January 1, 1970 0:00:00 UTC. | 
time::from_nanos() | Calculates a datetime based on the nanoseconds since January 1, 1970 0:00:00 UTC. | 
time::from_secs() | Calculates a datetime based on the seconds since January 1, 1970 0:00:00 UTC. | 
time::from_unix() | Calculates a datetime based on the seconds since January 1, 1970 0:00:00 UTC. | 
time::from_ulid() | Calculates a datetime based on the ULID. | 
time::from_uuid() | Calculates a datetime based on the UUID. | 
time::ceilThe time::ceil function rounds a datetime up to the next largest duration.
API DEFINITIONtime::ceil(datetime, duration) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
LET $now = d'2024-08-30T02:22:50.231631Z'; RETURN [ time::ceil($now, 1h), time::ceil($now, 1w) ];
Output[ d'2024-08-30T03:00:00Z', d'2024-09-05T00:00:00Z' ]
time::dayThe time::day function extracts the day as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::day(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::day(d"2021-11-01T08:30:17+00:00"); 1
time::epochThe time::epoch constant returns the datetime for the UNIX epoch (January 1, 1970).
// Return the const RETURN time::epoch; -- d'1970-01-01T00:00:00Z' // Define field using the const DEFINE FIELD since_epoch ON event COMPUTED time::now().floor(1d) - time::epoch; CREATE ONLY event:one SET information = "Something happened"; -- { id: event:one, information: 'Something happened', since_epoch: 55y42w6d }
time::floorThe time::floor function rounds a datetime down by a specific duration.
API DEFINITIONtime::floor(datetime, duration) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::floor(d"2021-11-01T08:30:17+00:00", 1w); d"2021-10-28T00:00:00Z"
time::formatThe time::format function outputs a datetime as a string according to a specific format.
API DEFINITIONtime::format(datetime, string) -> string
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::format(d"2021-11-01T08:30:17+00:00", "%Y-%m-%d");
d"2021-11-01"
time::groupThe time::group function reduces and rounds a datetime down to a particular time interval. The second argument must be a string, and can be one of the following values: year, month, day, hour, minute, second.
API DEFINITIONtime::group(datetime, string) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::group(d"2021-11-01T08:30:17+00:00", "year"); d"2021-01-01T00:00:00Z"
time::hourThe time::hour function extracts the hour as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::hour(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::hour(d"2021-11-01T08:30:17+00:00"); 8
time::maxThe time::max function returns the greatest datetime from an array of datetimes.
API DEFINITIONtime::max(array<datetime>) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::max([ d"1987-06-22T08:30:45Z", d"1988-06-22T08:30:45Z" ]) d"1988-06-22T08:30:45Z"
See also:
array::max, which extracts the greatest value from an array of valuesmath::max, which extracts the greatest number from an array of numberstime::maximumAvailable since: v2.3.0
The time::maximum constant returns the greatest possible datetime that can be used.
API DEFINITIONtime::maximum -> datetime
Some examples of the constant in use:
time::maximum; time::maximum + 1ns; time::now() IN time::minimum..time::maximum;
Output-------- Query 1 -------- d'+262142-12-31T23:59:59.999Z' -------- Query 2 -------- "Failed to compute: \"1ns + d'+262142-12-31T23:59:59.999999999Z'\", as the operation results in an arithmetic overflow." -------- Query 3 -------- true
time::microsAvailable since: v1.1.0
The time::micros function extracts the microseconds as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::micros(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::micros(d"1987-06-22T08:30:45Z"); 551349045000000
time::millisAvailable since: v1.1.0
The time::millis function extracts the milliseconds as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::millis(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::millis(d"1987-06-22T08:30:45Z"); 551349045000
time::minThe time::min function returns the least datetime from an array of datetimes.
API DEFINITIONtime::min(array<datetime>) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::min([ d"1987-06-22T08:30:45Z", d"1988-06-22T08:30:45Z" ]) d"1987-06-22T08:30:45Z"
See also:
array::min, which extracts the least value from an array of valuesmath::min, which extracts the least number from an array of numberstime::minimumAvailable since: v2.3.0
The time::minimum constant returns the least possible datetime that can be used.
API DEFINITIONtime::minimum -> datetime
Some examples of the constant in use:
time::minimum; time::now() IN time::minimum..time::maximum;
Output-------- Query 1 -------- d'-262143-01-01T00:00:00Z' -------- Query 2 -------- true
time::minuteThe time::minute function extracts the minutes as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::minute(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::minute(d"2021-11-01T08:30:17+00:00"); 30
time::monthThe time::month function extracts the month as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::month(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::month(d"2021-11-01T08:30:17+00:00"); 11
time::nanoThe time::nanofunction returns a datetime as an integer representing the number of nanoseconds since the UNIX epoch until a datetime, or the current date if no datetime argument is present.
API DEFINITIONtime::nano(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::nano(d"2021-11-01T08:30:17+00:00"); 1635755417000000000
time::nowThe time::now function returns the current datetime as an ISO8601 timestamp.
API DEFINITIONtime::now() -> datetime
time::roundThe time::round function rounds a datetime up by a specific duration.
API DEFINITIONtime::round(datetime, duration) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::round(d"2021-11-01T08:30:17+00:00", 1w); d"2021-11-04T00:00:00Z"
time::secondThe time::second function extracts the second as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::second(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::second(d"2021-11-01T08:30:17+00:00"); 17
time::timezoneThe time::timezone function returns the current local timezone offset in hours.
API DEFINITIONtime::timezone() -> string
time::unixThe time::unix function returns a datetime as an integer representing the number of seconds since the UNIX epoch until a certain datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::unix(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::unix(d"2021-11-01T08:30:17+00:00"); 1635755417
time::wdayThe time::wday function extracts the week day as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::wday(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::wday(d"2021-11-01T08:30:17+00:00"); 1
time::weekThe time::week function extracts the week as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::week(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::week(d"2021-11-01T08:30:17+00:00"); 44
time::ydayThe time::yday function extracts the day of the year as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::yday(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::yday(d"2021-11-01T08:30:17+00:00"); 305
time::yearThe time::year function extracts the year as a number from a datetime, or from the current date if no datetime argument is present.
API DEFINITIONtime::year(option<datetime>) -> number
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::year(d"2021-11-01T08:30:17+00:00"); 2021
time::is_leap_year()The time::is_leap_year() function Checks if given datetime is a leap year.
API DEFINITIONtime::is_leap_year(datetime) -> bool
The following example shows this function, and its output, when used in a RETURN statement:
-- Checks with current datetime if none is passed RETURN time::is_leap_year(); RETURN time::is_leap_year(d"1987-06-22T08:30:45Z"); [false] RETURN time::is_leap_year(d"1988-06-22T08:30:45Z"); [true] -- Using function via method chaining RETURN d'2024-09-03T02:33:15.349397Z'.is_leap_year(); [true]
time::from_microsAvailable since: v1.1.0
The time::from_micros function calculates a datetime based on the microseconds since January 1, 1970 0:00:00 UTC.
API DEFINITIONtime::from_micros(number) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_micros(1000000); d"1970-01-01T00:00:01Z"
time::from_millisThe time::from_millis function calculates a datetime based on the milliseconds since January 1, 1970 0:00:00 UTC.
API DEFINITIONtime::from_millis(number) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_millis(1000); d"1970-01-01T00:00:01Z"
time::from_nanosAvailable since: v1.1.0
The time::from_nanos function calculates a datetime based on the nanoseconds since January 1, 1970 0:00:00 UTC.
API DEFINITIONtime::from_nanos(number) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_nanos(1000000); d"1970-01-01T00:00:00.001Z'
time::from_secsThe time::from_secs function calculates a datetime based on the seconds since January 1, 1970 0:00:00 UTC.
API DEFINITIONtime::from_secs(number) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_secs(1000); d"1970-01-01T00:16:40Z"
time::from_unixThe time::from_unix function calculates a datetime based on the seconds since January 1, 1970 0:00:00 UTC.
API DEFINITIONtime::from_unix(number) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_unix(1000); d"1970-01-01T00:16:40Z"
time::from_ulidThe time::from_ulid function calculates a datetime based on the ULID.
API DEFINITIONtime::from_ulid(ulid) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_ulid("01JH5BBTK9FKTGSDXHWP5YP9TQ"); d'2025-01-09T10:57:03.593Z'
time::from_uuidThe time::from_uuid function calculates a datetime based on the UUID.
API DEFINITIONtime::from_uuid(uuid) -> datetime
The following example shows this function, and its output, when used in a RETURN statement:
RETURN time::from_uuid(u'01944ab6-c1e5-7760-ab6a-127d37eb1b94'); d'2025-01-09T10:57:58.757Z'