Time periods
What "this week", "last month", and "2026-Q2" actually mean.
Most analytics views, summaries, and invoice drafts ask you to pick a time period. Hourdini accepts a fixed vocabulary so the same words mean the same thing on the web, the CLI, and through an AI agent.
Named periods
| You pick | What it covers |
|---|---|
| Today | The current day. |
| Yesterday | The previous day. |
| This week | The current week, Monday through Sunday. |
| Last week | The previous Monday-to-Sunday week. |
| This month | The current calendar month. |
| Last month | The previous calendar month. |
| This quarter | The current calendar quarter. |
| Last quarter | The previous calendar quarter. |
| This year | The current calendar year. |
| Last 7 days | A rolling 7-day window ending today. |
| Last 30 days | A rolling 30-day window ending today. |
| Last 90 days | A rolling 90-day window ending today. |
Specific periods
When you need a specific past period, type:
| You type | What it covers |
|---|---|
2026 | All of 2026. |
2026-04 | April 2026. |
2026-Q2 | Q2 2026 (April through June). |
These are case-insensitive, so 2026-q2 works too.
Custom date ranges
Pick Custom in the period picker and choose a From and To
date. The range is inclusive of the From date and exclusive of the To
date, so picking 2026-03-01 to 2026-04-01 covers the whole of
March without spilling into April.
Time zones
All period boundaries are calculated in UTC, not your local time zone. This keeps things consistent across the web app, CLI, and AI agents. A "today" started at the same moment for everyone, and you won't see entries near midnight bouncing between days because of zone math.
If you're in UTC+8 and you ask for "today" at 2 AM local time, the period covers the UTC day that's still in progress, not the local day. For most users this is invisible. If it matters for a specific question (a strict local-day report for tax purposes, say), use Custom with explicit dates.
In the CLI
The CLI accepts the same vocabulary in --period flags. Names use
underscores in place of spaces:
hourdini list --period last_week
hourdini util --period 2026-04
hourdini overlaps list --period weekIn the API
Most REST list and summary endpoints use explicit from and to
timestamps. Report-specific endpoints that accept a period document
that parameter in the API reference.
?from=2026-03-01T00:00:00Z&to=2026-04-01T00:00:00ZErrors
If you pass something we don't recognize (say forever, next-week,
or 2026-Q5), you'll get an invalid_period error with a message
explaining what went wrong.