Time functions return the decimal number for a particular time value, calculate the number of time units (days, months, years) between two dates, and allow to determine timestamps and timeframes, among others.
Creates a duration
from the given amount and time unit.
duration(value, unit)
Parameter
Type
Description
Required
value
long
The numeric value for the duration.
required
unit
string
The time unit of the duration.
required
The data type of the returned value is duration
.
data record(value = 1000, unit = "ns"),record(value = 60, unit = "s"),record(value = 1000 * 60 * 60 * 24, unit = "ms"),record(value = 24, unit = "h")| fieldsAdd duration(value, unit:unit)
Query result:
value
unit
duration(value, unit)
1,000
ns
1 µs
60
s
1 min
86,400,000
ms
1 D
24
h
1 D
Formats the timestamp according to a format string (using the defined interval).
Timestamps according to the ISO 8601 standard can be parsed and converted to the timestamp datatype.
All letters A
to Z
and a
to z
are reserved as pattern letters.
Any non-letter characters, other than [
, ]
, {
, }
, #
and the single quote will be output directly. However, it is recommended to use single quotes around all characters that you want to output directly to ensure that future changes do not affect your query. Unrecognized pattern letters result in an error. See Java DateTime Formatter for the list of supported patterns and symbols.
formatTimestamp(timestamp [, interval] [, format] [, timezone] [, locale])
Parameter
Type
Description
Required
timestamp
timestamp
required
interval
duration
optional
format
string
optional
timezone
string
The timezone used to format the timestamp.
optional
locale
string
The locale used to format the timestamp.
optional
The data type of the returned value is string
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd formatted = formatTimestamp(timestamp, format:"MM-dd-yyyy"),year = formatTimestamp(timestamp, format:"y"),month = formatTimestamp(timestamp, format:"M"),week = formatTimestamp(timestamp, format:"w"),dayofWeek = formatTimestamp(timestamp, format:"E", locale:"en-US"),hour = formatTimestamp(timestamp, format:"H"),time = formatTimestamp(timestamp, format:"HH:mm, VV"),timeET = formatTimestamp(timestamp, format:"HH:mm, VV", timezone:"US/Eastern")
Query result:
2019-08-01T13:30:00.000Z
08-01-2019
2019
8
31
Thu
15
15:30, Europe/Berlin
09:30, US/Eastern
Extracts the day of the month from a timestamp.
getDayOfMonth(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the day of the month will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getDayOfMonth(timestamp)
Query result:
timestamp
getDayOfMonth(timestamp)
2019-08-01T13:30:00.000Z
1
Extracts the day of the week from a timestamp.
The getDayOfWeek
function always uses UTC as its timezone.
The week starts on Monday and ends on Sunday.
The numeric values represent the following days:
1
- Monday2
- Tuesday3
- Wednesday4
- Thursday5
- Friday6
- Saturday7
- SundaygetDayOfWeek(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the day of the week will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getDayOfWeek(timestamp)
Query result:
timestamp
getDayOfWeek(timestamp)
2019-08-01T13:30:00.000Z
4
Extracts the day of the year from a timestamp.
getDayOfYear(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the day of the year will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getDayOfYear(timestamp)
Query result:
timestamp
getDayOfYear(timestamp)
2019-08-01T13:30:00.000Z
213
Extracts the end timestamp from a timeframe.
getEnd(timeframe)
Parameter
Type
Description
Required
timeframe
timeframe
The timeframe expression from which the end timestamp will be extracted.
required
The data type of the returned value is timestamp
.
data record(timeframe = timeframe(from:"2019-08-01T09:30:00.000-0400", to:"2019-08-01T09:35:00.000-0400"))| fieldsAdd getEnd(timeframe)
Query result:
timeframe
getEnd(timeframe)
start: 2019-08-01T13:30:00.000Z
end: 2019-08-01T13:35:00.000Z
2019-08-01T13:35:00.000Z
Extracts the hour from a timestamp.
getHour(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the hour will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getHour(timestamp)
Query result:
timestamp
getHour(timestamp)
2019-08-01T13:30:00.000Z
13
Extracts the minute from a timestamp.
getMinute(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp expression
The timestamp expression from which the minute will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getMinute(timestamp)
Query result:
timestamp
getMinute(timestamp)
2019-08-01T13:30:00.000Z
30
Extracts the start timestamp from a timeframe.
getStart(timeframe)
Parameter
Type
Description
Required
timeframe
timeframe
The timeframe expression from which the start timestamp will be extracted.
required
The data type of the returned value is timestamp
.
data record(timeframe = timeframe(from:"2019-08-01T09:30:00.000-0400", to:"2019-08-01T09:35:00.000-0400"))| fieldsAdd getStart(timeframe)
Query result:
timeframe
getStart(timeframe)
start: 2019-08-01T13:30:00.000Z
end: 2019-08-01T13:35:00.000Z
2019-08-01T13:30:00.000Z
Extracts the second from a timestamp.
getSecond(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the second will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getSecond(timestamp)
Query result:
timestamp
getSecond(timestamp)
2019-08-01T13:30:00.000Z
0
Extracts the year from a timestamp.
getYear(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the year will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getYear(timestamp)
Query result:
timestamp
getYear(timestamp)
2019-08-01T13:30:00.000Z
2,019
Extracts the week of the year from a timestamp.
getWeekOfYear(timestamp [, timezone])
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression from which the week of the year will be extracted.
required
timezone
string
The timezone that should be used.
optional
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd getWeekOfYear(timestamp)
Query result:
timestamp
getWeekOfYear(timestamp)
2019-08-01T13:30:00.000Z
31
Returns the current time as a fixed timestamp of the query start.
now()
The data type of the returned value is timestamp
.
data record()| fieldsAdd now()
Query result:
now()
2023-11-16T08:38:38.360Z
Creates a timeframe
structure from the given start and end timestamps.
timeframe(from [, to])
Parameter
Type
Description
Required
from
string, timestamp, duration
The start of the timeframe. Can be a timestamp or a duration. Duration is interpreted as an offset from now()
.
required
to
duration, string, timestamp
The end of the timeframe. Can be a timestamp or a duration. Duration is interpreted as an offset from now()
. The default value is now()
.
optional
The data type of the returned value is timeframe
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd timeframe(from:timestamp - 5m, to: timestamp)
Query result:
timestamp
timeframe(from:timestamp - 5m, to:timestamp)
2019-08-01T13:30:00.000Z
start: 2019-08-01T13:25:00.000Z
end: 2019-08-01T13:30:00.000Z
Creates a timestamp
using provided values in mandatory parameters.
timestamp(year, month, day, hour, minute, second [, millis] [, micros] [, nanos] [, timezone])
Parameter
Type
Description
Required
year
long
required
month
long
required
day
long
required
hour
long
required
minute
long
required
second
long
required
millis
long
optional
micros
long
optional
nanos
long
optional
timezone
string
The timezone that should be used.
optional
The data type of the returned value is timestamp
.
data record()| fieldsAdd timestamp(year:2019, month:8, day:1, hour:13, minute:30, second:0, timezone:"UTC")
Query result:
timestamp(2019, 8, 1, 13, 30, 0, timezone:"UTC")
2019-08-01T13:30:00.000Z
Creates a timestamp
from the given milliseconds since Unix epoch.
timestampFromUnixMillis(millis)
Parameter
Type
Description
Required
millis
long
Milliseconds since unix start time.
required
The data type of the returned value is timestamp
.
data record(millis = 1564666200000)| fieldsAdd timestampFromUnixMillis(millis)
Query result:
millis
timestampFromUnixMillis(millis)
1,564,666,200,000
2019-08-01T13:30:00.000Z
Creates a timestamp
from the given nanoseconds since Unix epoch.
timestampFromUnixNanos(nanos)
Parameter
Type
Description
Required
nanos
long
Nanoseconds since unix start time.
required
The data type of the returned value is timestamp
.
data record(nanos = 1564666200000000000)| fieldsAdd timestampFromUnixNanos(nanos)
Query result:
nanos
timestampFromUnixNanos(nanos)
1,564,666,200,000,000,000
2019-08-01T13:30:00.000Z
Creates a timestamp
from the given seconds since Unix epoch.
timestampFromUnixSeconds(seconds)
Parameter
Type
Description
Required
seconds
long
Seconds since unix start time.
required
The data type of the returned value is timestamp
.
data record(seconds = 1564666200)| fieldsAdd timestampFromUnixSeconds(seconds)
Query result:
seconds
timestampFromUnixSeconds(seconds)
1,564,666,200
2019-08-01T13:30:00.000Z
Converts a timestamp into milliseconds.
unixMillisFromTimestamp(timestamp)
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to milliseconds since epoch.
required
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd unixMillisFromTimestamp(timestamp)
Query result:
timestamp
unixMillisFromTimestamp(timestamp)
2019-08-01T13:30:00.000Z
1,564,666,200,000
Converts a timestamp into nanoseconds.
unixNanosFromTimestamp(timestamp)
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to nanoseconds since epoch.
required
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd unixNanosFromTimestamp(timestamp)
Query result:
timestamp
unixNanosFromTimestamp(timestamp)
2019-08-01T13:30:00.000Z
1,564,666,200,000,000,000
Converts a timestamp into seconds.
unixSecondsFromTimestamp(timestamp)
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to seconds since epoch.
required
The data type of the returned value is long
.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd unixSecondsFromTimestamp(timestamp)
Query result:
timestamp
unixSecondsFromTimestamp(timestamp)
2019-08-01T13:30:00.000Z
1,564,666,200