Arquivo localtime no Linux (define o timezone) [Guia Básico]

O arquivo localtime no Linux é utilizado para se definir a zona de fuso horário, e com isso, alterar o relógio do sistema para a hora local.

Em sistemas baseados em Red Hat (Red Hat, CentOS, Fedora, etc), para alterar uma zona de fuso horário, deve-se excluir o link simbólico /etc/localtime existente, e criar um novo link com o arquivo de zona de fuso horário desejado:

# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Ou de maneira mais simples, usar a opção “-sf” do comando ln que apaga o link simbólico anterior ao criar o novo:

# ln -sf /usr/shave/zoneinfo/America/Sao_Paulo /etc/localtime

Neste exemplo, a zona de fuso horário de São Paulo será utilizada pelo sistema.

Uma vez alterada a zona, o relógio ajusta-se automaticamente ao novo horário.

/etc/timezone

Em distribuições baseadas em Debian (Debian, Linux Mint, Ubuntu, etc), a configuração de zona de fuso horário é controlada por meio do arquivo /etc/timezone, que contém a informação de qual é a timezone. Veja o exemplo: 

$ cat /etc/timezone 
America/Los_Angeles

O texto a ser colocado no arquivo /etc/timezone deve coincidir com nome da zona contida no diretório /usr/share/zoneinfo/:

# echo "America/Sao_Paulo" > /etc/timezone

Depois de alterar o conteúdo do arquivo /etc/timezone, é necessário reconfigurar o pacote tzdata:

# dpkg-reconfigure -f noninteractive tzdata

Variável TZ

A variável TZ também pode ser utilizada para definir a zona de fuso horário do usuário logado e funciona para qualquer Linux.

Se esta variável não estiver configurada, as informações do /etc/localtime ou /etc/timezone serão utilizadas.

Esta variável é útil para configurar informações de Zona de Fuso Horário por usuário. O sistema pode ter um fuso horário, e cada usuário conectado pode ter a sua zona quando logado. Isto pode ser útil num ambiente servidor com usuários espalhados por diversas zonas de fuso.

Veja o exemplo:

$ TZ='America/Miami'; export TZ
$ date
Sat 19 Oct 2019 02:37:07 PM America
$ TZ='America/Sao_Paulo'; export TZ
$ date
Sat 19 Oct 2019 11:38:01 AM -03

Como toda variável de ambiente, para funcionar para os programas executados no shell, ela deve ser exportada com o comando “export”.

Além disso, para que a configuração de timezone através da variável TZ fique permanente, deve ser configurada em algum arquivo de inicialização do usuário, de preferência no arquivo ~/.profile.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe