fix: use UTC hours for intra-day chart labels to match server timezone buckets
Backend returns timestamps already bucketed in site timezone but as UTC values. Using getUTCHours/getUTCMinutes prevents the browser from adding its local timezone offset.
This commit is contained in:
@@ -439,7 +439,7 @@ export default function Chart({
|
||||
<VisxXAxis
|
||||
numTicks={6}
|
||||
formatLabel={interval === 'minute' || interval === 'hour'
|
||||
? (d) => d.toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit' })
|
||||
? (d) => `${String(d.getUTCHours()).padStart(2, '0')}:${String(d.getUTCMinutes()).padStart(2, '0')}`
|
||||
: (d) => d.toLocaleDateString('en-GB', { day: 'numeric', month: 'short' })
|
||||
}
|
||||
/>
|
||||
@@ -456,7 +456,7 @@ export default function Chart({
|
||||
const config = METRIC_CONFIGS.find((m) => m.key === metric)
|
||||
const value = point[metric] as number
|
||||
const title = interval === 'minute' || interval === 'hour'
|
||||
? dateObj.toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit' })
|
||||
? `${String(dateObj.getUTCHours()).padStart(2, '0')}:${String(dateObj.getUTCMinutes()).padStart(2, '0')}`
|
||||
: dateObj.toLocaleDateString('en-GB', { weekday: 'short', day: 'numeric', month: 'short' })
|
||||
return (
|
||||
<div className="px-3 py-2.5">
|
||||
|
||||
Reference in New Issue
Block a user