No meu país, o horário oficial muda no primeiro mês de primavera e outono. Quando o horário oficial muda, os relógios do meu celular e PC também mudam.
Como esses dispositivos descobrem que há uma mudança?
if (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1
Normalmente isso é suficiente, mas se as regras mudarem (como na América do Norte em 2007), você precisará baixar uma atualização do sistema operacional. Fora isso, o único problema é que, se o relógio do sistema estiver errado (por exemplo, bateria descarregada da placa-mãe), ele não saberá quando alterar a hora (mas isso é irrelevante, pois você precisa fixar a data e a hora de qualquer maneira).