Dates, time zones and fiscal calendars

How Halo groups dates, resolves relative ranges like last 30 days, and applies your fiscal year, week start and time zones.

A date in a chart depends on four settings: the time grain it's grouped by, the range it's filtered to, your organization's calendar, and the time zone it's read in. Halo Engine and the date picker work these out with the same rules, so what a preview says is what a query does.

Time grains

A grain is how finely a date is grouped. Pick one next to a date field in the chart editor or the explorer; Exact leaves the values as they are. Changing the grain regroups the same data.

GrainReads asNotes
Minute, HourJan 4, 9:30 AMTimestamps only
DayJan 4, 2026
WeekWeek of Jan 4, 2026Starts on your organization's week start
ISO weekWeek of Jan 5, 2026Always starts on Monday
MonthJan 2026
QuarterQ1 2026Calendar quarters
Year2026
Fiscal quarterFY2027 Q1Follows your fiscal year
Fiscal yearFY2027Named by the calendar year it ends in

Relative date ranges

Relative ranges move with the calendar, so a report always shows the latest period. They resolve against today in the report's time zone.

Pick a preset to see the dates it means today.

GroupPresets
DaysToday, Yesterday, Last 7, 14, 30 and 90 days
WeeksThis week, Last week
To dateMonth to date, Quarter to date, Year to date
PreviousLast month, Last quarter, Last year, Rolling 12 months
FiscalFiscal quarter to date, Fiscal year to date, Last fiscal quarter, Last fiscal year
CustomLast N days, weeks or months

The rules behind them:

  • Last N counts complete periods and leaves out the current one. Last 7 days ends yesterday, and last 3 months ends on the last day of the previous month.

  • To date runs from the period's first day through today.

  • Last month, quarter and year are the whole previous period.

  • Rolling 12 months is the 12 full months before this one.

Comparing periods

Scorecards and time series can compare with an earlier period when they have a date range filter. Previous period is the same length just before the range. Same period last year, or Same period last year on a scorecard, shifts the range back a year. See Trend lines, forecasts and reference lines.

Your organization's calendar

Owners and Admins set these once, in Settings, General, under Calendar. They apply to every report.

Fiscal year

Fiscal year starts in sets the month your fiscal year begins. Fiscal quarters count from it, and fiscal years are named by the calendar year they end in. With a July start:

  • Fiscal Q1 is July through September.

  • July 2026 through June 2027 is FY2027.

Once the start is after January, the date picker adds a Fiscal section. With a January start those presets would repeat the calendar ones, so they don't appear.

The picker with a fiscal year starting in July. Open it to see the Fiscal section.

Calendar grains and presets stay calendar: Quarter and Quarter to date ignore the fiscal year. Formulas work the same way: QUARTER() is the calendar quarter, and DATE_TRUNC([Order date], 'fiscal_quarter') follows your fiscal year.

Week start

Weeks start on is Sunday or Monday. It decides the Week grain, This week and Last week, last N weeks, and DATE_TRUNC(…, 'week').

ISO weeks always start on Monday, whatever you choose. In formulas, WEEK() is the ISO week number, and WEEKDAY() runs from 1 for Monday to 7 for Sunday.

Time zones

Time zones come in layers, each one more specific.

LayerSet inWhat it does
OrganizationSettings, General, Time zoneThe zone every query uses unless something overrides it
ReportTime zone under Dates in the report's settingsA report's own zone overrides the organization's
ReaderMy time zone on a public link, where the report allows itThe reader's browser zone, for them alone
ColumnThe field's Recorded in time zoneThe zone a timestamp without a zone was recorded in

Every time zone field finds a zone by its city or region, so typing new york finds America/New York, and shows each zone's offset from UTC today, such as GMT-5.

Dates group and relative ranges resolve in the report's zone, then the organization's. That's the zone "today" means, and the zone TODAY(), NOW() and HOUR() use in formulas.

Readers in their own zone

Turn on Readers can use their time zone under Dates in the report's settings, then publish. Someone who opens the report's public link from another zone sees My time zone at the top. With it on, days group and ranges like last 30 days resolve in their browser's zone, the button names their city, and the link they copy keeps it. These answers are worked out live rather than read from the report's snapshot, so they can take a moment longer.

Readers in the report's own zone don't see the button, and neither does an edition, which keeps the dates it was published with. Embeds use the report's zone.

How a timestamp is read

A timestamp is an instant, so Halo converts it to the query's zone before grouping. An order placed at 11 p.m. in New York on the last day of a month is already the next month in London, and a chart in each zone shows it where it belongs.

  • Timestamps with a zone convert directly.

  • Timestamps without a zone need to say where they were recorded. Set it on the field. Halo starts these columns as UTC when it builds a dataset, so check them if your source records local time.

  • Plain dates have no time to convert. They stay on the day they say.

If daily totals look a day off near midnight, or don't match the source, check the column's Recorded in time zone first. See Time zones per column.