como ler informações de fuso horário

7

Eu estava olhando para algum livro de programação do sistema. Mencionou usar uma variável TZ com uma lista separada por dois pontos que é usada em /usr/share/zoneinfo . Provavelmente o livro está um pouco desatualizado.

Eu verifiquei no meu sistema Ubuntu

/usr/share/zoneinfo/Asia$ file Oral

fornece a seguinte saída

  

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

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

  1. Como posso basicamente ler o tipo de arquivo acima?

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

por Registered User 24.03.2011 / 10:40

1 resposta

9

Bem, depende do que você quer ler?

Quase todos os programas confiam apenas em $TZ sendo definido no ambiente ou /etc/localtime sendo um link para um arquivo de fuso horário. A biblioteca C organizará automaticamente, por exemplo, localtime() para retornar a hora correta.

  

1) Como posso basicamente ler acima do tipo de arquivos

zdump -v /etc/localtime mostrará o conteúdo dos arquivos.

Estes são arquivos compilados não destinados a humanos para serem lidos. apt-get source tzdata lhe dará a origem de onde vieram.

  

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

Não é 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 tzconfig ou através da GUI.

Você pode definir, por exemplo, ~/.env se quiser um padrão pessoal diferente para você mesmo.

    
por poolie 24.03.2011 / 11:20

Tags