Standards across the Devo Platform
Devo standards ensure feature consistency and predictable behaviour for users across the Devo platform.
Relative date language
Using date language expressions for relative-dates gives you more flexibility and precision when searching your data.
This model is implemented in the following sections of the Devo Plaftorm:
Operators
You can establish absolute dates in the required format:
Operator | Action | Example |
---|---|---|
yyyy-MM-dd hh:mm:ss | Establishes the specified absolute date | 2025-01-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 Wednesday, 05 February 2025, 13:37:05. The table below shows the resulting time when different expressions are applied.
Time expression | Description | Resulting time |
---|---|---|
now() - 60m | 60 minutes ago | Wednesday, 05 February 2025, 12:37:05 |
now() @ 1h | Now (rounded to the beginning of the hour) | Wednesday, 05 February 2025, 13:00:00 |
now() - 24h | 24 hours ago | Tuesday, 04 February 2025, 13:37:05 |
(now() - 1d) @ 1d | Yesterday (rounded to the beginning of the day) | Tuesday, 04 February 2025, 00:00:00 |
(now() - 2d) @ 1d | 2 days ago (rounded to the beginning of the day) | Monday, 03 February 2025, 00:00:00 |
(now() - 2d) @ 1m | 2 days ago (rounded to the beginning of the minute) | Monday, 03 February 2025, 13:37:00 |
((now() - 2d) @ 1d) - 2h | 2 days ago (rounded to the beginning of the day minus 2 hours) | Sunday, 02 February 2025, 22:00:00 |
now() @ 1w | Locale week | Wednesday, 05 February 2025, 00:00:00 |
now() @ 1W | ISO week | Thursday, 30 January 2025, 00:00:00 |
now() ^ 6d | Replace the day with 6 | Thursday, 06 February 2025, 13:37:05 |
now() ^ 2025y3M6d15h30m20s | Replaces the year with 2025 | Thursday, 06 March 2025, 15:30:20 |
now() >> 2M | Forward to next second month | Thursday, 05 February 2026, 13:37:05 |
now() << 2M | Backward to previous second month | Monday, 05 February 2024, 13:37:05 |
now() >> 2M6d15h20m10s | Forward to next second month, sixth day, fifteenth hour, twentieth minute and 10 seconds | Friday, 06 February 2026, 15:20:10 |
now() << 1h/1d | Goes back to the first hour of the current day. Minutes and seconds don't change. | Wednesday, 05 February 2025, 01:37:05 |