configure TimeZone

0

Eu tenho dois computadores com o Ubuntu 12.04, ambos configurados com a localização Santiago. No entanto, os fusos horários são diferentes (barra azul no mapa)

Isso gera problemas ao programar em c ++ e pede a diferença horária do localTime com o Gmtime.

time_t t = time(0);
struct tm* now = localtime(&t);
struct tm* now2 = gmtime(&t); 

É possível que esse comportamento seja devido a um decreto nº 106 do Ministério do interior do Chile, que mudou o horário no verão ao longo do ano?

Como configurar o fuso horário do PC1 para se parecer com o PC2?

PD: em ambos os computadores eu executo os comandos

sudo ntpdate -u ntp.ubuntu.com
dpkg-reconfigure tzdata

verifique também:

  • o tempo no BIOS (ambos definidos com o horário UTC)
  • o /etc/default/rcS com UTC=yes
  • configure o dualboot (em um PC) para o Windows use o UTC TIME;
  • a diferença (código c + +) a partir de agora e agora2 após a chamada para gmtime;
  • verifique o sinalizador tm_isdst , com valor 0;

    PD2: o fuso horário no PC2 é o fuso horário correto

por Holister 11.05.2015 / 19:13

1 resposta

0

Eu encontrei o problema! Não foi atualizado o tzdata em um computador. Para atualizar o tzdata execute no console

sudo apt-get install tzdata tzdata-java

Com este comando, a configuração de hora quando executada

zdump -v America/Santiago | grep 2015

deve imprimir estes

America/Santiago  Sun Apr 26 02:59:59 2015 UTC = Sat Apr 25 23:59:59 2015 CLST isdst=1 gmtoff=-10800
America/Santiago  Sun Apr 26 03:00:00 2015 UTC = Sun Apr 26 00:00:00 2015 CLT isdst=0 gmtoff=-10800
    
por Holister 11.05.2015 / 21:34