Separate source time from display time
An export can contain exchange time or the trading program’s local time. Displaying it later in your time zone does not change when the trade happened. Prefer an unambiguous UTC instant plus the original context. If an export lacks an offset, establish its meaning before converting it.
Daylight saving depends on the date
This example uses 09:30 in America/New_York. On September 10, 2026 it corresponds to 13:30 UTC; on December 10, 2026 it corresponds to 14:30 UTC. For those two dates, Europe/Berlin shows 15:30, while Asia/Dubai shows 17:30 and 18:30 respectively.
Use named time zones rather than a permanently assumed hour difference. Regional transition dates differ. An offset that is correct in September is not a year-round rule.
Define session boundaries explicitly
Specify whether a trading day is grouped by local calendar, exchange session or a custom analysis window. Check a trade just before and one just after the boundary. Incorrect grouping changes daily P&L and setup heatmaps even when the individual trades remain unchanged.
| Date | UTC | Europe/Berlin | Asia/Dubai |
|---|---|---|---|
| 2026-09-10 | 13:30 | 15:30 | 17:30 |
| 2026-12-10 | 14:30 | 15:30 | 18:30 |