Como os PCs sabem quando o tempo mudou?


15

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?


Uau. horário de verão para a metade do ano
mcalex

2
O computador sabe que horas são certas? E você sabe em que data o horário de verão deve mudar, certo? Portanto, é trivial escrever uma linha de código no sistema operacional que diga if (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1Normalmente 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).
Synetech

Respostas:


20

A maioria dos sistemas operacionais possui as regras básicas para calcular isso (por exemplo, primeiro final de semana após uma data específica), para que possam se ajustar por conta própria, sem a necessidade de conexão com qualquer servidor de horário. No entanto, isso pode estragar o relógio do sistema, caso haja alterações nas regras oficiais (por exemplo, as alterações mais recentes na Rússia) ou um backup do sistema seja restaurado (para que o sistema ajuste o horário duas vezes).

Como alternativa, alguns dispositivos podem entrar em contato com um servidor remoto (provavelmente o fazem o tempo todo) ou usar outro tipo de carimbo de data / hora incorporado (por exemplo, transmissão como parte de texto de vídeo / ceefax ou dados DVB, ao falar sobre programas de televisão e receptores / gravadores / TVs).

Editar: Apenas para mencionar: as versões mais antigas do Windows (por exemplo, Windows 95 ou Windows 98) nunca confiavam em suas próprias estimativas, portanto sempre diziam ao usuário para verificar a hora correta depois de alterada. O Windows Vista e o Windows 7 (que não têm certeza das versões intermediárias) não fazem mais isso e assumem que estão certos (além de usar um servidor de horário para sincronizar o relógio).


O NTP não contém nenhuma informação de horário de verão ou horário de verão. Apenas estabelece qual é a hora atual no UTC. O cliente deve aplicar separadamente regras apropriadas ao fuso horário, usando o banco de dados Olson ou equivalente. Windows Time Service parece implementar apenas NTP, sem meios de divulgação regras de fuso horário atualizadas: technet.microsoft.com/en-us/library/cc773061(v=ws.10).aspx
dhasenan

Tudo bem, então o NTP pode ser usado apenas para determinar se o relógio local ainda está / já está no horário de verão, caso o sistema pense que deve haver um ajuste (por exemplo, depois de reverter para um backup). Mas sim, parece lógico, considerando que o UTC / GMT + 0 nunca muda. Reescrevi um pouco essa frase.
24612 Mario Mario

7

O Linux usa o banco de dados de fuso horário da IANA para saber quando o horário de verão é alterado. Uma história diferente é para o Windows por vários motivos. Primeiro, o Windows usa o RTC no horário local e o Linux - no UTC. Imagine que um horário de verão seja alterado no Windows. Isso permite que os arquivos sejam "criados" no futuro e pode causar alguns problemas. Além disso, o Windows antigo trata o horário de verão de maneira diferente, porque havia regras diferentes do horário de verão e a Microsoft não fornece mais atualizações para essas versões do Windows, portanto, agora não podem mais alterar as regras do horário de verão.

Mais sobre isso aqui: http://en.wikipedia.org/wiki/Daylight_saving_time#Computing


2

Em termos simples, o sistema operacional atualiza uma atualização para ajustar a hora.

O Windows faz isso através do Windows Update e Linux através do uso de arquivos de fuso horário .


Não é exatamente verdade para Windows, pelo menos não para versões mais antigas. O Windows é capaz de calcular isso sozinho (semelhante ao Linux), mas isso precisa de atualizações devido a nenhuma regra (como você vinculou).
24612 Mario Mario

1

Os telefones celulares conseguem atualizar o horário através da rede. Da mesma forma, no caso do Windows, ele é atualizado pela Internet. Isso funciona apenas se você tiver optado pela atualização automática da hora. Você pode verificar as configurações de data e hora no seu celular ou PC. insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.