como ler informações de fuso horário

8

Eu estava olhando para algum livro de programação do sistema. Ele mencionou o uso de uma variável TZcom uma lista separada por dois pontos da qual é usada /usr/share/zoneinfo. Provavelmente o livro está um pouco desatualizado.

Eu verifiquei no meu sistema Ubuntu

/usr/share/zoneinfo/Asia$ file Oral

dá a seguinte saída

Oral: dados de fuso horário, versão 2, sinalizadores de 14 gmt, sinalizadores de 14 tempo padrão, sem segundos bissextos, 51 tempos de transição, 14 caracteres de abreviação

Tentei abri-lo no vi, mas o texto não pôde ser lido. Eu também tentei ler, /etc/localtimemas aqui também não podia ser lido.

  1. Como posso basicamente ler os tipos de arquivos acima?

  2. Onde a variável de ambiente TZ é definida no Ubuntu 10.04?

Usuário Registrado
fonte

Respostas:

10

Bem, depende do que você quer ler?

Quase todos os programas dependem apenas de $TZserem configurados no ambiente ou de /etc/localtimeserem um link para um arquivo de fuso horário. A biblioteca C organizará automaticamente, por exemplo, o localtime()retorno da hora correta.

1) Como posso ler basicamente o tipo de arquivo acima

zdump -v /etc/localtime mostrará o que está dentro dos arquivos.

Esses são arquivos compilados que não são para humanos lerem. apt-get source tzdatalhe dará a fonte de onde eles vêm.

2) Onde está a variável de ambiente TZ definida no Ubuntu 10.04

Não está definido por padrão. Em vez disso, /etc/localtimeé uma cópia do arquivo zoneinfo relevante e /etc/timezoneé o nome dessa zona.

Você pode alterá-los com sudo tzconfigou através da GUI.

Você pode configurá-lo, por exemplo, ~/.envse desejar um padrão pessoal diferente para si mesmo.

poolie
fonte
Criar ~/.envcom UTCele não tem efeito no fuso horário local.
jfs
Hoje em dia é tzselect
jiggunjer 16/02/2017
tzselectnão é um substituto para tzconfig: apenas escolhe um fuso horário e o imprime no stdout sem alterar nenhuma configuração . A substituição moderna atual é dpkg-reconfigure tzdata.
Pool