Added link to OP.
Everything is based on the hardware time.
Status quo:
Both Windows and Linux uses time zones - but Windows expects hardware clock to be in local time and Linux expects the clock to be UTC.
The will inevitably lead to confusion with a dual-boot system.
The only solution to prevent the confusion is ensure the both systems use the same point of origin.