Acho que há uma confusão de fuso horário aqui.
A maneira esperada de manter o tempo em um sistema Unix / Linux é ter o relógio do BIOS e o relógio do sistema kernel funcionando no UTC. Você então tem um (ou mais) fuso horário para seus usuários. A conversão de fuso horário garante que o relógio UTC subjacente seja exibido na hora local do usuário.
Vamos tentar dar um exemplo:
# UTC date/time as known by the system clock
date -u
Tue 31 Jan 14:06:23 UTC 2017
# Local time in the UK
TZ=Europe/London date
Tue 31 Jan 14:06:25 GMT 2017
# Local time in France
TZ=Europe/Paris date
Tue 31 Jan 15:06:27 CET 2017
# Local time in west coast USA
TZ=US/Pacific date
Tue 31 Jan 06:06:30 PST 2017
Aqui está outro:
# UTC absolute reference
TZ=UTC ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 14:08 whos_pointing.txt
# Local time in the UK
TZ=Europe/London ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 14:08 whos_pointing.txt
# Local time in France
TZ=Europe/Paris ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 15:08 whos_pointing.txt
# Local time in west coast USA
TZ=US/Pacific ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 06:08 whos_pointing.txt
O arquivo é o mesmo arquivo, mas sua data / hora é exibida de forma diferente, dependendo de onde o sistema pensa que estou a qualquer momento.
# Back in the USA
export TZ=US/Pacific
ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 06:08 whos_pointing.txt
touch whos_pointing.txt
ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 06:16 whos_pointing.txt
# Jump across to the UK. Notice the file's timestamp has updated here too
export TZ=Europe/London
ls -l whos_pointing.txt
-rw-r--r-- 1 roaima roaima 143 Jan 31 14:16 whos_pointing.txt
Não é difícil configurar um fuso horário padrão em todo o sistema, nem é difícil para determinados usuários substituí-lo pela variável de ambiente TZ
. Eu tenho um servidor na Califórnia, onde o fuso horário padrão é US/Pacific
, mas minha própria conta de login contém export TZ=Europe/London
.
As bibliotecas de conversão de fuso horário manipulam automaticamente o salto entre o horário de verão e o horário de inverno nos fusos horários em que são aplicadas. O relógio do sistema não salta, mas o deslocamento horário (ou a cada 30 minutos) é modificado no instante apropriado. Os sistemas de banco de dados usam o tempo absoluto do sistema internamente, para que eles não sejam afetados por saltos aparentes para frente ou para trás no tempo exibido pelos usuários. O NTP também trabalha com o tempo absoluto do sistema, que é como ele pode lidar com servidores em diferentes fusos horários ao redor do mundo (não precisa se preocupar!).