Question Réglage du fuseau horaire sous Linux


Je mets le fuseau horaire GMT + 6 sur ma machine Linux en copiant le fichier zoneinfo sur /etc/localtime, mais la commande de date affiche l'heure UTCtime-6. Quelle est la raison de ce comportement?

Je suppose que la commande de date devrait afficher l'heure UTC + 6. Voici les étapes que je suis:

date
Wed Jan 22 17:29:01 IST 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

cp /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime

date
Wed Jan 22 05:59:21 GMT+6 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

4
2018-01-22 12:01


origine


La date indique GMT + 6, la même zone que la zone que vous avez copiée dans / etc / localtime.
@minterinterface: Vous avez raison mais pourquoi la commande de date affiche-t-elle l'heure moins que l'heure UTC?
Je pense que vous devez clarifier votre question. Il a l'ensemble des fuseaux horaires IST / GMT + 6 / UTC-6 / UTC + 6 mentionnés, plus les deux commandes de date que vous appelez "une commande de date" - veuillez être exact.
Je pense que c'est assez clair. En Inde, l’opération a lieu en Inde, et il est 17h29 en Inde, ce qui signifie qu’il est 11h59 UTC. puis OP ne change que le fuseau horaire par celui cp commander; l'UTC n'est pas affecté (comme on peut le voir), mais l'heure locale est désormais 5h59 GMT + 6 alors qu'il devrait être 17h59 GMT + 6. - Alfe
Ce Q a également été publié sur U & L: unix.stackexchange.com/questions/110522/... - slm


Réponses:


Des zones comme Etc/GMT+6 sont intentionnellement inversés pour assurer la rétrocompatibilité avec les normes POSIX. Voir les commentaires sur Wikipedia, et en ce fichier du tzdb.

Vous ne devriez presque jamais avoir besoin d'utiliser ces zones. Au lieu de cela, vous devriez utiliser un fuseau horaire entièrement nommé comme America/New_York ou Europe/London ou tout ce qui est approprié pour votre emplacement. Se référer au Liste des fuseaux horaires de la base de données tz sur Wikipedia.


9
2018-01-23 05:36



Merci pour votre réponse mais j'utilise le format GMT + dans mon système embarqué et j'ai trouvé ce type de comportement
Je ne suis pas sûr de ce que tu veux dire. Vous avez demandé pourquoi cela était inversé, et c'est pourquoi. - Matt Johnson
Un fuseau horaire n'est pas la même chose qu'un décalage de fuseau horaire. Vous ne faites pas que mettre +6, vous êtes en train de Etc/GMT+6 qui est une entrée très spécifique dans les données de zoneinfo, qui signifie "6 heures à l’ouest de GMT" -6. Si tu veux vraiment +6 alors vous devriez définir une zone comme Etc/GMT-6, ou vous pouvez utiliser une zone nommée avec un décalage de +6. Voir aussi le fuseau horaire tag wiki. - Matt Johnson