By Ether DataRequest data sample
Interactive publication
Back to the catalogue
OffsetsCase 02 of 03

Half-hour offset zones

India (+5:30), Sri Lanka (+5:30), central Australia ACST (+9:30), Iran (+3:30), Afghanistan (+4:30), Myanmar (+6:30), and Newfoundland (-3:30) sit a half hour off UTC. A local clock hour therefore straddles TWO UTC hour-of-week slots, so a local band (daypart, broadcast day) never maps to a whole number of slots.

Class
Case to account for
Affects
3 conversions
01

Detection

zoneOffsetMinutes % 60 !== 0.
02

Mitigation

01
Keep the canonical slot on the UTC integer hour; do not re-base it to local.
02
Express local bands as a WEIGHTED slot-set — the fraction of each hour that falls in each UTC slot (the temporal analog of the geo weighted crosswalk), or assign by majority overlap and declare which.
03

Affected conversions

Daypart (local band) ⇄ UTC slot-set
OPEN
Broadcast day (declared cutover) ⇄ slot-set
OPEN
Timestamp + zonehour-of-week slot
OPEN
Worked example

05:30 Asia/Kolkata = 00:00 UTC = slot 0; 06:00 IST = 00:30 UTC, which is still slot 0 but only half-covers it.