Existe-t-il un moyen de vérifier le fuseau horaire dans lequel je suis actuellement sur Linux?
linux
ubuntu-10.04
Peter Mortensen
la source
la source
date
je vais vous dire.echo $TZ
ne me rapporte rien.Si vous voulez dire depuis la console, tapez simplement:
la source
+07
pour moi. Pour obtenirRegion/City
un Linux basé sur Debian / Arch, voyez cette réponse .Si vous voulez le fuseau horaire numérique:
date +'%:z %Z'
Exemple de sortie:
la source
:z EST
date
. La version BusyBox affiche quelque chose de non sensuel, "%: z CEST" dans mon cas.linux
ubuntu-10.04
Je voulais trouver le fuseau horaire sous la forme "US / Eastern" ou "Europe / London" à la place. Vous pouvez le trouver dans:
ZONE="US/Eastern"
dans / etc / sysconfig / clockou vous pouvez essayer de faire correspondre / etc / localtime à l'un des fichiers sous / usr / share / zoneinfo; ennuyeusement cela ne semble pas être un lien symbolique, mais vous pouvez par exemple
pour trouver des fichiers correspondants - il existe probablement de meilleures façons de le faire, mais cela fonctionne. Il y aura plusieurs correspondances.
la source
find /usr/share/zoneinfo/ -type f| xargs md5sum | grep $(md5sum /etc/localtime | cut -d' ' -f1)
Pour Ubuntu, essayez ceci:
Exemple de sortie:
Pour une autre distribution, consultez la référence: https://unix.stackexchange.com/questions/110522/timezone-setting-in-linux
la source
timedatectl set-timezone
ne met pas à jour/etc/timezone
. Voir cette réponse pour une solution basée sur/etc/localtime
.Parfois , vous pouvez rechercher le fuseau horaire canonique plutôt que la forme courte que produit par
date %Z
exempleUS/Eastern
. Sur les systèmes avec,timedatectl
par exemple, Fedora,timedatectl
génère de nombreuses informations utiles, y compris la zone actuelle:Malheureusement,
timedatectl
prendset-timezone
comme une commande, mais n'a pas de correspondanceget-timezone
. Analyser comme suit:la source
Donc, je suis à l'heure de la montagne. Bien que les conseils ci-dessus sur l'utilisation de variables d'environnement ou simplement la sortie de commandes de date fonctionnent parfois mieux, selon l'utilisation que vous souhaitez en faire.
la source
Pour le fuseau horaire, vous pouvez utiliser la géolocalisation:
Ou:
http://wiki.archlinux.org/index.php/time#Time_zone
la source
/sbin/hwclock --systohc [--utc]
pour régler l'horloge matérielle.Le noyau Linux enregistre et calcule toujours le temps en secondes depuis le 1er janvier 1970 à minuit (minuit), indépendamment du fait que votre horloge matérielle soit stockée en UTC ou non. Les conversions à votre heure locale sont effectuées au moment de l'exécution. Une bonne chose à ce sujet est que si quelqu'un utilise votre ordinateur à partir d'un fuseau horaire différent, il peut définir la variable d'environnement TZ et toutes les dates et heures apparaîtront correctes pour son fuseau horaire.
Si le nombre de secondes écoulées depuis le 1er janvier 1970 UTC est stocké sous la forme d'un entier signé 32 bits (comme c'est le cas sur votre système Linux / Intel), votre horloge cessera de fonctionner en 2038. Linux n'a pas de problème Y2K inhérent. , mais il a un problème d’année 2038. J'espère que nous utiliserons tous Linux sur des systèmes 64 bits d'ici là. Les entiers 64 bits garderont nos horloges bien fonctionner jusqu’à environ 292271 millions d’années.
la source
Quelques solutions:
m'a donné (respectivement):
Mon ordinateur est au format UTC.
la source
L'utilisation de TZ ou de la date n'est pas fiable car elle vous indique le fuseau horaire de l'utilisateur, et non le fuseau horaire par défaut du système.
Le fuseau horaire système par défaut est stocké dans / etc / timezone (qui est souvent un lien symbolique vers le fichier de données de fuseau horaire spécifique au fuseau horaire). Si vous n'avez pas de / etc / timezone, regardez / etc / localtime. Généralement, il s'agit du fuseau horaire du "serveur". / etc / localtime est souvent un lien symbolique vers un fichier de fuseau horaire dans / usr / share / zoneinfo. Ce chemin d'accès au fichier de fuseau horaire correct vous fournira souvent aussi des informations géographiques.
Les nouveaux linux ont "timedatectl" qui vous donne des tonnes d'informations lorsque la commande est exécutée.
(en tant que nœud latéral, si vous avez un ancien système qui utilise toujours les fuseaux horaires codés en dur OLD, vous pouvez probablement copier un fichier de fuseau horaire moderne sur celui-ci et cela fonctionnera. J'ai dû le faire plusieurs fois pour résoudre le changement de fuseaux horaires. sur du matériel ancien).
la source
Parfois,
timedatectl set-timezone
ne met pas à jour/etc/timezone
, il est donc préférable d'obtenir la tiemzone à partir du nom du fichier vers lequel le lien symbolique/etc/timezone
pointe:Références: dans cette réponse .
la source
Vous pouvez afficher la date et le fuseau horaire simultanément:
la source