Time functions
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.
duration
Creates a duration
from the given amount and time unit.
Syntax
duration(value, unit)
Parameters
Parameter
Type
Description
Required
value
long
The numeric value for the duration.
required
unit
string
The time unit of the duration.
required
Returns
The data type of the returned value is duration
.
Examples
Example 1
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
formatTimestamp
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.
Syntax
formatTimestamp(timestamp [, interval] [, format] [, timezone] [, locale])
Parameters
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
Returns
The data type of the returned value is string
.
Examples
Example 1
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
getDayOfMonth
Extracts the day of the month from a timestamp.
Syntax
getDayOfMonth(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getDayOfWeek
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
- Sunday
Syntax
getDayOfWeek(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getDayOfYear
Extracts the day of the year from a timestamp.
Syntax
getDayOfYear(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getEnd
Extracts the end timestamp from a timeframe.
Syntax
getEnd(timeframe)
Parameters
Parameter
Type
Description
Required
timeframe
timeframe
The timeframe expression from which the end timestamp will be extracted.
required
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
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
getHour
Extracts the hour from a timestamp.
Syntax
getHour(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getMinute
Extracts the minute from a timestamp.
Syntax
getMinute(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getStart
Extracts the start timestamp from a timeframe.
Syntax
getStart(timeframe)
Parameters
Parameter
Type
Description
Required
timeframe
timeframe
The timeframe expression from which the start timestamp will be extracted.
required
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
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
getSecond
Extracts the second from a timestamp.
Syntax
getSecond(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getYear
Extracts the year from a timestamp.
Syntax
getYear(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
getWeekOfYear
Extracts the week of the year from a timestamp.
Syntax
getWeekOfYear(timestamp [, timezone])
Parameters
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
Returns
The data type of the returned value is long
.
Examples
Example 1
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
now
Returns the current time as a fixed timestamp of the query start.
Syntax
now()
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
data record()| fieldsAdd now()
Query result:
now()
2023-11-16T08:38:38.360Z
timeframe
Creates a timeframe
structure from the given start and end timestamps.
Syntax
timeframe(from [, to])
Parameters
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
Returns
The data type of the returned value is timeframe
.
Examples
Example 1
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
timestamp
Creates a timestamp
using provided values in mandatory parameters.
Syntax
timestamp(year, month, day, hour, minute, second [, millis] [, micros] [, nanos] [, timezone])
Parameters
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
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
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
timestampFromUnixMillis
Creates a timestamp
from the given milliseconds since Unix epoch.
Syntax
timestampFromUnixMillis(millis)
Parameters
Parameter
Type
Description
Required
millis
long
Milliseconds since unix start time.
required
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
data record(millis = 1564666200000)| fieldsAdd timestampFromUnixMillis(millis)
Query result:
millis
timestampFromUnixMillis(millis)
1,564,666,200,000
2019-08-01T13:30:00.000Z
timestampFromUnixNanos
Creates a timestamp
from the given nanoseconds since Unix epoch.
Syntax
timestampFromUnixNanos(nanos)
Parameters
Parameter
Type
Description
Required
nanos
long
Nanoseconds since unix start time.
required
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
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
timestampFromUnixSeconds
Creates a timestamp
from the given seconds since Unix epoch.
Syntax
timestampFromUnixSeconds(seconds)
Parameters
Parameter
Type
Description
Required
seconds
long
Seconds since unix start time.
required
Returns
The data type of the returned value is timestamp
.
Examples
Example 1
data record(seconds = 1564666200)| fieldsAdd timestampFromUnixSeconds(seconds)
Query result:
seconds
timestampFromUnixSeconds(seconds)
1,564,666,200
2019-08-01T13:30:00.000Z
unixMillisFromTimestamp
Converts a timestamp into milliseconds.
Syntax
unixMillisFromTimestamp(timestamp)
Parameters
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to milliseconds since epoch.
required
Returns
The data type of the returned value is long
.
Examples
Example 1
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
unixNanosFromTimestamp
Converts a timestamp into nanoseconds.
Syntax
unixNanosFromTimestamp(timestamp)
Parameters
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to nanoseconds since epoch.
required
Returns
The data type of the returned value is long
.
Examples
Example 1
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
unixSecondsFromTimestamp
Converts a timestamp into seconds.
Syntax
unixSecondsFromTimestamp(timestamp)
Parameters
Parameter
Type
Description
Required
timestamp
timestamp
The timestamp expression which will be converted to seconds since epoch.
required
Returns
The data type of the returned value is long
.
Examples
Example 1
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