Date language expressions for Activeboards
Overview
Devo allows you to manually enter a time range in the indicator for both your entire Activeboard or individual widgets and inputs, giving you more flexibility and precision when searching your data. Simply click on the time range indicator in the top right and enter the desired dates or edit existing ones. The background of the time range indicator changes to red until a valid date is entered.
Coherent time ranges
Your from date cannot be after your to date and your to date cannot be in the future.
You can use a mix of both absolute and date language expressions in any given time range (for example, the to date can be relative and the from date absolute, and vice versa). For date language expressions, the current moment "now()" is used as the reference point.
Now look how this is reflected in a widget:
Real-time deactivated after editing
The real-time option is deactivated if you manually edit an existing time-range that has it activated, so you will need to reactivate it. Furthermore, the real-time option is only available for time ranges that use at least one date language expressions in the to or from field.
Operators
You can establish absolute dates in the required format:
Operator | Action | Example |
---|---|---|
yyyy-MM-dd hh:mm:ss | Establishes the specified absolute date | 2021-06-30 15:35:23 |
With date language expressions, use a series of mathematical operations to move away from the current time which is used as the reference point. You can use multiple operators at once and the execution order is from left to right:
Operator | Action | Example |
---|---|---|
Snap to (@) or |< | Rounds the date to the beginning of a time unit. Note that this operator only works with 1m, 1d, 1h, 1w, 1W, 1M and 1y. | now() @ 1m or now() |< 1m |
Arithmetics (+/-) | Applies an offset to the date (date + offset or date - offset) | now() - 3h |
Replace (^) | Replaces part of the date by a time unit (date ^ time_unit) | now() ^ 6d |
Backward & forward (>>/<<) | Shifts the date to the next/past time unit (date >> time_unit or date << time_unit) | now() << 11M |
Time expressions
Let's suppose the current time (which we refer to as "now()") is Sunday, 05 February 2017, 13:37:05. The table below shows the resulting time when different expressions are applied. All dates and times are GMT+1. Note that this isn't an exhaustive list:
Time expression | Description | Resulting time |
---|---|---|
now() - 60m | 60 minutes ago | Sunday, 05 February 2017, 12:37:05 |
now() @ 1h | Now (rounded to the beginning of the hour) | Sunday, 05 February 2017, 13:00:00 |
now() - 24h | 24 hours ago | Saturday, 04 February 2017, 13:37:05 |
(now() - 1d) @ 1d | Yesterday (rounded to the beginning of the day) | Saturday, 04 February 2017, 00:00:00 |
(now() - 2d) @ 1d | 2 days ago (rounded to the beginning of the day) | Friday, 03 February 2017, 00:00:00 |
(now() - 2d) @ 1m | 2 days ago (rounded to the beginning of the minute) | Friday, 03 February 2017, 13:37:00 |
((now() - 2d) @ 1d) - 2h | 2 days ago (rounded to the beginning of the day minus 2 hours) | Thursday, 02 February 2017, 22:00:00 |
now() @ 1w | Locale week | Sunday, 05 February 2017, 00:00:00 |
now() @ 1W | ISO week | Monday, 30 January 2017, 00:00:00 |
now() ^ 6d | Replace the day with 6 | Monday, 06 February 2017, 13:37:05 |
now() ^ 2018y3M6d15h30m20s | Replaces the year with 2018 | Tuesday, 06 March 2018, 15:30:20 |
now() >> 2M | Forward to next second month | Monday, 05 February 2018, 13:37:05 |
now() << 2M | Backward to previous second month | Friday, 05 February 2016, 13:37:05 |
now() >> 2M6d15h20m10s | Forward to next second month, sixth day, fifteenth hour, twentieth minute and 10 seconds | Tuesday, 06 February 2018, 15:20:10 |
now() << 1h/1d | Goes back to the first hour of the current day. Minutes and seconds don't change. | Sunday, 05 February 2017, 01:37:05 |
Examples
Let's take a look at the mathematical operators in action. Imagine that the current moment, which we always refer to as "now()" is Wednesday, 27 January 2021.