extract_time ↗
Use the extract_time() function to isolate and return specific components of a timestamp, such as the year, month, or hour.
Important Note: The values returned by extract_time() are always based on GMT (Greenwich Mean Time), even if your server settings for Timezone or Timestamp Format are adjusted.
Syntax
extract_time (<timestamp>, <part>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
timestamp |
timestamp | Yes | The input timestamp value, originating from a field or the result of another function. |
part |
string | Yes | The specific unit of the timestamp to extract. |
Returns
The extract_time() function returns a numerical value (Integer or Number) representing the extracted portion of the timestamp.
Usage notes
- The values returned by
extract_time()are always based on GMT (Greenwich Mean Time) even if you've adjusted the Timezone or Timestamp Format server settings. For more information on the server settings, see Configure server settings. - The
partparameter is not case-sensitive, but the string must match one of the supported keywords. - The supported keywords for the
partparameter are:DAY: Day of the month (1-31).DAYOFWEEK: Day of the week (1=Monday, 7=Sunday).DAYOFYEAR: Day of the year (1-366).HOUR: Hour of the day (0-23).MICROSECOND: Microseconds.MILLISECOND: Milliseconds.MINUTE: Minute of the hour (0-59).MONTH: Month of the year (1-12).QUARTER: Quarter of the year (1-4).SECOND: Second of the minute (0-59).YEAR: Year (for example, 2023).
Examples
Example 1: Extracting the YEAR
Goal: Extract the year from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_year = extract_time(_time, "YEAR") | fields event_id, _time, event_year | limit 3
Explanation: The event_year field shows the integer year (2023) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_YEAR |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 2023 |
| 102 | Oct 26th 2023 10:05:30 | 2023 |
| 103 | Oct 26th 2023 10:15:15 | 2023 |
Example 2: Extracting the MONTH
Goal: Extract the month from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_month = extract_time(_time, "MONTH") | fields event_id, _time, event_month | limit 3
Explanation: The event_month field shows the integer month (10 for October) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_MONTH |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 10 |
| 102 | Oct 26th 2023 10:05:30 | 10 |
| 103 | Oct 26th 2023 10:15:15 | 10 |
Example 3: Extracting the DAY
Goal: Extract the day of the month from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_day = extract_time(_time, "DAY") | fields event_id, _time, event_day | limit 3
Explanation: The event_day field shows the integer day of the month (26) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_DAY |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 26 |
| 102 | Oct 26th 2023 10:05:30 | 26 |
| 103 | Oct 26th 2023 10:15:15 | 26 |
Example 4: Extracting the DAYOFWEEK
Goal: Extract the day of the week from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_day_of_week = extract_time(_time, "DAYOFWEEK") | fields event_id, _time, event_day_of_week | limit 3
Explanation: The event_day_of_week field shows the integer day of the week (4 for Thursday) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_DAY_OF_WEEK |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 4 |
| 102 | Oct 26th 2023 10:05:30 | 4 |
| 103 | Oct 26th 2023 10:15:15 | 4 |
Example 5: Extracting the DAYOFYEAR
Goal: Extract the day of the year from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_day_of_year = extract_time(_time, "DAYOFYEAR") | fields event_id, _time, event_day_of_year | limit 3
Explanation: The event_day_of_year field shows the integer day of the year (299) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_DAY_OF_YEAR |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 299 |
| 102 | Oct 26th 2023 10:05:30 | 299 |
| 103 | Oct 26th 2023 10:15:15 | 299 |
Example 6: Extracting the HOUR
Goal: Extract the hour from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_hour = extract_time(_time, "HOUR") | fields event_id, _time, event_hour | limit 3
Explanation: The event_hour field shows the integer hour (10) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_HOUR |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 10 |
| 102 | Oct 26th 2023 10:05:30 | 10 |
| 103 | Oct 26th 2023 10:15:15 | 10 |
Example 7: Extracting the MINUTE
Goal: Extract the minute from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_minute = extract_time(_time, "MINUTE") | fields event_id, _time, event_minute | limit 3
Explanation: The event_minute field shows the integer minute extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_MINUTE |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 0 |
| 102 | Oct 26th 2023 10:05:30 | 5 |
| 103 | Oct 26th 2023 10:15:15 | 15 |
Example 8: Extracting the SECOND
Goal: Extract the second from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_second = extract_time(_time, "SECOND") | fields event_id, _time, event_second | limit 3
Explanation: The event_second field shows the integer second extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_SECOND |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 0 |
| 102 | Oct 26th 2023 10:05:30 | 30 |
| 103 | Oct 26th 2023 10:15:15 | 15 |
Example 9: Extracting the MILLISECOND
Goal: Extract the milliseconds from a timestamp. Because the sample data does not explicitly display milliseconds, this example uses current_time() for demonstration.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter current_ts_val = current_time() // Conceptual: Jul 25th 2024 14:30:45.123 | alter ms_part = extract_time(current_ts_val, "MILLISECOND") | fields event_id, current_ts_val, ms_part | limit 3
Explanation: The ms_part field shows the millisecond component (123) extracted from the current time. This illustrates the function's capability with higher precision timestamps.
Output:
| EVENT_ID | CURRENT_TS_VAL | MS_PART |
|---|---|---|
| 101 | Jul 25th 2024 14:30:45 | 123 |
| 102 | Jul 25th 2024 14:30:45 | 123 |
| 103 | Jul 25th 2024 14:30:45 | 123 |
Example 10: Extracting the MICROSECOND
Goal: Extract the microseconds from a timestamp. Because the sample data does not explicitly display microseconds, this example uses current_time() for demonstration.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter current_ts_val = current_time() // Conceptual: Jul 25th 2024 14:30:45.123456 | alter us_part = extract_time(current_ts_val, "MICROSECOND") | fields event_id, current_ts_val, us_part | limit 3
Explanation: The us_part field shows the microsecond component (123456) extracted from the current time, demonstrating the function's precision.
Output:
| EVENT_ID | CURRENT_TS_VAL | US_PART |
|---|---|---|
| 101 | Jul 25th 2024 14:30:45 | 123456 |
| 102 | Jul 25th 2024 14:30:45 | 123456 |
| 103 | Jul 25th 2024 14:30:45 | 123456 |
Example 11: Extracting the QUARTER
Goal: Extract the quarter of the year from the _time field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter event_quarter = extract_time(_time, "QUARTER") | fields event_id, _time, event_quarter | limit 3
Explanation: The event_quarter field shows the integer quarter of the year (4) extracted from each event's _time timestamp.
Output:
| EVENT_ID | _TIME | EVENT_QUARTER |
|---|---|---|
| 101 | Oct 26th 2023 10:00:00 | 4 |
| 102 | Oct 26th 2023 10:05:30 | 4 |
| 103 | Oct 26th 2023 10:15:15 | 4 |
Related articles
- Stages:
alter,config,fields,limit - Functions:
current_time