The ISO time machine is broken

2022-03-29

In Oregon it is 9am. Oregon is eight hours behind UTC. According to the usual convention (defined in ISO 8601 and elsewhere) that's written "09:00-08:00".

The minus character '-' suggests being behind, so superficially that seems logical. But how are measures normalized in other cases? Suppose the unit is Volts. I can write

2000V = 2kV

because k = 1000.

Try this with the standard UTC offset time notation. At 9am in Oregon it is 6pm in Oslo, one hour ahead of UTC. That's the same time, so they too should be equal

09:00-08:00 = 18:00+01:00

01:00 = 19:00

Oops.

The logically consistent way to express local time would be to take UTC and decompose it into local and offset components, preserving the equality, so at 17:00 UTC the time in Oregon is "09:00+08:00".