Comment les PC savent-ils que l'heure a changé?

15

Dans mon pays, l'heure officielle change au cours du premier mois du printemps et de l'automne. Lorsque l'heure officielle change, les horloges de mon téléphone portable et de mon PC changent également.

Comment ces appareils découvrent-ils un changement?

Sam
la source
sensationnel. heure d'été pour la moitié de l'année
mcalex
2
L'ordinateur sait à quelle heure il est juste? Et vous savez à quelle date l'heure d'été est censée changer, n'est-ce pas? Par conséquent, il est trivial d'écrire une ligne de code dans le système d'exploitation qui indique if (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1généralement que cela suffit, mais si les règles changent (comme en Amérique du Nord en 2007), vous devez télécharger une mise à jour du système d'exploitation. En dehors de cela, le seul problème est que si l'horloge système est incorrecte (par exemple, batterie de la carte mère morte), elle ne peut pas savoir quand changer l'heure (mais cela n'a pas d'importance car vous devez de toute façon fixer la date et l'heure).
Synetech

Réponses:

20

La plupart des systèmes d'exploitation ont les règles de base pour calculer cela (par exemple, le premier week-end après une date spécifique), afin qu'ils puissent s'adapter par eux-mêmes, sans nécessiter de connexion à un serveur horaire. Cela peut cependant bousiller l'horloge du système en cas de modifications des règles officielles (par exemple les dernières modifications pour la Russie) ou si une sauvegarde du système est restaurée (le système ajuste donc l'heure deux fois).

Comme alternative, certains appareils peuvent contacter un serveur distant (ils le font probablement tout le temps de toute façon) ou utiliser un autre type d'horodatage intégré (par exemple, diffusé dans le cadre de texte vidéo / ceefax ou de données DVB, lorsqu'ils parlent de programmes de télévision et récepteurs / enregistreurs / téléviseurs).

Edit: Juste pour le mentionner: les anciennes versions de Windows (par exemple Windows 95 ou Windows 98) n'ont jamais fait confiance à leur propre estimation, ils ont donc toujours dit à l'utilisateur de vérifier l'heure correcte une fois qu'elle avait changé. Windows Vista et Windows 7 (pas sûr des versions intermédiaires) ne font plus cela et supposent simplement qu'ils ont raison (en plus d'utiliser un serveur de synchronisation pour synchroniser l'horloge).

Mario
la source
NTP ne contient aucune information DST ou fuseau horaire. Il établit simplement l'heure actuelle en UTC. Le client doit appliquer séparément des règles appropriées à son fuseau horaire, en utilisant la base de données Olson ou équivalent. Le service de temps Windows semble implémenter uniquement NTP, sans aucun moyen de diffuser les règles de fuseau horaire mises à jour: technet.microsoft.com/en-us/library/cc773061(v=ws.10).aspx
dhasenan
D'accord, donc NTP ne peut être utilisé que pour déterminer si l'horloge locale est toujours / déjà sur DST au cas où le système pense qu'il devrait y avoir un ajustement (par exemple après être revenu à une sauvegarde). Mais oui, cela semble logique, étant donné que UTC / GMT + 0 ne change jamais. Reformulé un peu cette phrase.
Mario
7

Linux utilise la base de données de fuseau horaire IANA pour savoir quand l'heure d'été change. Une histoire différente est pour Windows pour un certain nombre de raisons. Premièrement, Windows utilise RTC en heure locale et Linux - en UTC. Imaginez qu'un DST change sous Windows. Cela permet de "créer" des fichiers à l'avenir et cela peut causer des problèmes. En outre, les anciennes versions de Windows traitent DST différemment, car il existait alors des règles DST différentes et Microsoft ne fournit plus de mises à jour pour ces versions de Windows, de sorte qu'elles ne peuvent plus désormais modifier les règles DST.

Plus d'informations à ce sujet ici: http://en.wikipedia.org/wiki/Daylight_saving_time#Computing

Ernestas
la source
2

En termes simples, votre système d'exploitation passe par une mise à jour pour ajuster l'heure.

Windows le fait via Windows Update et Linux via l'utilisation de fichiers de fuseau horaire .

Compagnon Geek
la source
Ce n'est pas tout à fait vrai pour Windows, du moins pas pour les anciennes versions. Windows est capable de calculer cela seul (similaire à Linux), mais ce quelque chose a besoin de mises à jour en raison d'aucune règle (comme vous l'avez lié).
Mario
1

Les téléphones mobiles parviennent à mettre à jour l'heure via le réseau. De même, dans le cas de Windows, il se met à jour via Internet. Cela ne fonctionne que si vous avez opté pour la mise à jour automatique de l'heure. Vous pouvez vérifier les paramètres de date et d'heure sur votre mobile ou votre PC. entrez la description de l'image ici

agirish
la source