comment lire les informations de fuseau horaire

8

Je regardais un livre de programmation système. Il a mentionné d'utiliser une variable TZavec une liste séparée par deux points qui est utilisée à partir de /usr/share/zoneinfo. Le livre est probablement un peu dépassé.

J'ai vérifié sur mon système Ubuntu

/usr/share/zoneinfo/Asia$ file Oral

donne la sortie suivante

Oral: données de fuseau horaire, version 2, indicateurs de temps 14 gmt, 14 indicateurs de temps std, pas de secondes intercalaires, 51 temps de transition, 14 caractères d'abréviation

J'ai essayé de l'ouvrir dans vi mais le texte n'a pas pu être lu. J'ai aussi essayé de lire /etc/localtimemais ici aussi ça ne pouvait pas être lu.

  1. Comment puis-je essentiellement lire les types de fichiers ci-dessus?

  2. Où la variable d'environnement TZ est-elle définie dans Ubuntu 10.04?

Utilisateur enregistré
la source

Réponses:

10

Eh bien, cela dépend de ce que vous voulez lire?

Presque tous les programmes reposent simplement sur le fait d' $TZêtre définis dans l'environnement ou d' /etc/localtimeêtre un lien vers un fichier de fuseau horaire. La bibliothèque C organisera alors automatiquement, par exemple, localtime()le retour de l'heure correcte.

1) Comment puis-je lire les types de fichiers ci-dessus

zdump -v /etc/localtime vous montrera ce qu'il y a dans les fichiers.

Ce sont des fichiers compilés qui ne sont pas destinés à être lus par les humains. apt-get source tzdatavous donnera la source d'où ils viennent.

2) Où est définie la variable d'environnement TZ dans Ubuntu 10.04

Il n'est pas défini par défaut. Au lieu de cela, /etc/localtimeest une copie du fichier zoneinfo pertinent et /etc/timezoneest le nom de cette zone.

Vous pouvez les modifier avec sudo tzconfigou via l'interface graphique.

Vous pouvez le définir par exemple ~/.envsi vous voulez un autre défaut personnel pour vous-même.

poolie
la source
Créer ~/.envavec UTCdedans n'a aucun effet sur le fuseau horaire local.
jfs
De nos jours c'est tzselect
jiggunjer
tzselectn'est pas un remplacement pour tzconfig: il choisit simplement un fuseau horaire et l'imprime sur stdout sans changer aucune configuration . Le remplacement moderne réel est dpkg-reconfigure tzdata.
poolie