Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme avec l'heure ntp

3 réponses
Avatar
MacMac
bonjour,
je développe un appareil portable sous linux donc vendable un peu partout
dans le monde.L'interface utilisateur doit être très simple .
Actuellement j'utilise l'heure UTC et l'utilisateur programme l'heure de
l'appareil et je n'ai pas de problème :
/sbin/hwclock --hctosys --utc
Certain client me demande d'installer un client ntp dans cet appareil.
Dans ce cas j'ai alors une erreur d'heure . J'aurai aimé avoir une
commande incrémentale où l'utilisateur donne simplement une différence
d'heure (+1 -2 +4 etc...) Par exemple si le client est en chine il
rajoute +12.
Est ce possible ?

3 réponses

Avatar
ALain Montfranc
MacMac a écrit
bonjour,
je développe un appareil portable sous linux donc vendable un peu partout
dans le monde.L'interface utilisateur doit être très simple .
Actuellement j'utilise l'heure UTC et l'utilisateur programme l'heure de
l'appareil et je n'ai pas de problème :
/sbin/hwclock --hctosys --utc
Certain client me demande d'installer un client ntp dans cet appareil.
Dans ce cas j'ai alors une erreur d'heure . J'aurai aimé avoir une
commande incrémentale où l'utilisateur donne simplement une différence
d'heure (+1 -2 +4 etc...) Par exemple si le client est en chine il
rajoute +12.
Est ce possible ?


Les timezones sont là pour ça :-D

Avatar
Nicolas George
MacMac wrote in message :
j'ai compris que je vais utiliser tzset pour changer les variables
d'environnement TZ (timezone et daylight) c'est ca ?
Et est ce que ces variables seront utilisé par le noyau linux ou
uniquement par mon executable ?


Le noyau ne connaît qu'une chose : le nombre de secondes (non-intercalaires)
écoulées depuis le premier janvier 1970 à 0:00 UTC. Ça a l'avantage d'être
une donnée complètement universelle, et très simple.

La conversion en heure locale, qui suppose de tenir compte des années
bissextiles, mais également du fuseau horaire, est faite par chaque
application, via la libc.

Utiliser l'heure système autrement, en particulier faire comme si l'heure
UTC était l'heure locale, peut donner l'illusion de marcher, mais conduira à
des gags grotesques lors des changements d'heure, ou encore pire pour les
voyageurs.

Sur mon pc je n'ai pas de variable TZ ni fichier /etc/localtime mais un
fichier /etc/timezone


Sous GNU/Linux, c'est /etc/localtime qui est utilisé pour calculer l'heure
locale à partir de l'heure UTC. C'est normalement une copie (ou un lien) de
/usr/share/zoneinfo/Europe/Paris (ou un autre, mutatis mutandis). La
variable TZ permet de contourner la valeur de ce fichier processus par
processus (par exemple utilisateur par utilisateur), mais c'est peu utilisé,
et s'il y a une notion raisonnable de fuseau horaire du système, c'est tout
à fait sa place.

/etc/timezone contient le nom du fichier qui a servi de source à
/etc/localtime. Il ne sert pas beaucoup.

Le Fri, 23 Feb 2007 10:53:09 +0100, ALain Montfranc a écrit :


Merci de ne pas top-poster.

Avatar
MacMac
Je ne vois pas bien comment l'utiliser,
j'ai compris que je vais utiliser tzset pour changer les variables
d'environnement TZ (timezone et daylight) c'est ca ?
Et est ce que ces variables seront utilisé par le noyau linux ou
uniquement par mon executable ?
Sur mon pc je n'ai pas de variable TZ ni fichier /etc/localtime mais un
fichier /etc/timezone


Le Fri, 23 Feb 2007 10:53:09 +0100, ALain Montfranc a écrit :

MacMac a écrit
bonjour,
je développe un appareil portable sous linux donc vendable un peu
partout dans le monde.L'interface utilisateur doit être très simple .
Actuellement j'utilise l'heure UTC et l'utilisateur programme l'heure de
l'appareil et je n'ai pas de problème : /sbin/hwclock --hctosys --utc
Certain client me demande d'installer un client ntp dans cet appareil.
Dans ce cas j'ai alors une erreur d'heure . J'aurai aimé avoir une
commande incrémentale où l'utilisateur donne simplement une
différence d'heure (+1 -2 +4 etc...) Par exemple si le client est en
chine il rajoute +12.
Est ce possible ?


Les timezones sont là pour ça :-D