Os carimbos de hora unix mudam entre fusos horários?

136

Como o sujeito pergunta; os carimbos de hora do UNIX são alterados em cada fuso horário?

Por exemplo, se eu enviasse uma solicitação para outro e-mail do outro lado do mundo dizendo: "Enviar um e-mail quando chegar a hora do 1397484936" , o carimbo de data e hora do outro servidor ficaria 12 horas atrás do meu?

Ben Poulson
fonte
7
Não, é o número de segundos que se passaram desde um momento específico.
Niklas B.

Respostas:

228

A definição do registro de data e hora do UNIX é independente do fuso horário. O registro de data e hora é o número de segundos (ou milissegundos) decorridos desde um ponto absoluto no tempo, meia-noite de 1º de janeiro de 1970 no horário UTC. (UTC é horário de Greenwich sem ajustes de horário de verão.) Independentemente do fuso horário, um registro de data e hora representa um momento que é o mesmo em qualquer lugar. É claro que você pode converter e voltar para uma representação de fuso horário local (o horário 1397484936 é o horário local em Nova York ou outro horário local em Djakarta), se desejar.

O artigo em http://en.wikipedia.org/wiki/Unix_time é bastante impressionante se você quiser ler mais.

RobP
fonte
19
Na minha outra vida, sou instrutor de vôo. Usamos o UTC (também conhecido como "horário do Zulu") para os horários de decolagem e pouso, para que a diferença entre os horários seja uma medida precisa da duração do voo, sem ter que considerar em que fuso horário os aeroportos de partida e de chegada estão. De fato, peguei voos que começaram no horário de verão e terminaram depois dele, ou vice-versa!
RobP
19
+1 nesta resposta. Para adicionar uma idéia que possa ajudar a esclarecer: o registro de data e hora em si não é UTC, o registro de data e hora é um número de (mili) segundos passados ​​de um ponto de referência no tempo. O ponto de referência para o registro de data e hora do Unix (a época do Unix) é aquele que é UTC: 00:00:00 UTC 1970.01.01
Sandman
4
Construindo mais longe da resposta de @Sandman, 1397484936 segundos desde o início é exatamente isso, 1397484936 segundos. Sem entrar em outra ciência, 1397484936 segundos se passaram nesse ponto em todo o mundo. Quando esses 1397484936 segundos se passaram que poderia ser 4 PM:16:00 em Nova York, 9 PM/21:00 em Londres, que é no horário local zonas
conrad10781
1
@ RobP Isso não é verdade. O UNIX não é independente do fuso horário, você mesmo disse isso in UTC time. Existem duas compensações, a raw offsete DST offset. Por exemplo, America/New_Yorko deslocamento bruto é -18000e o deslocamento DST é 3600, portanto, a partir de qualquer registro de data e hora do UNIX, você deve fazer as contas UNIX + offset + dstOffsetpara obter o registro de data e hora de Nova York.
Max
15

A hora Unix é definida como o número de segundos decorridos desde 00:00:00, hora universal coordenada ( UTC ), quinta-feira, 1 de janeiro de 1970. Portanto, a resposta é não

atormentar
fonte
5

Se os dois computadores estiverem configurados corretamente com os relógios definidos para os valores corretos de fuso horário e UTC, eles deverão retornar o mesmo valor.
Claro que é um grande FI. É quase certo que haja uma diferença de pelo menos segundos, mais frequentemente minutos entre o tempo relatado por dois computadores. E muitos computadores estão configurados para ter configurações incorretas de fuso horário e relatam o horário local quando solicitado um carimbo de data e hora em vez do UTC.

E nisso reside a diferença entre teoria e prática. Em teoria, é tudo a mesma coisa, na prática você nunca deve confiar nela.

jwenting
fonte
3

Os carimbos de hora Unix não mudam entre os fusos horários , eles são criados com a finalidade de ter um horário padrão em todo o mundo.

NOTA: - Os carimbos de data / hora são calculados com base no horário atual no computador e, portanto, não dependem deles até e a menos que você tenha muita certeza das configurações de horário nas máquinas participantes.

humble_wolf
fonte
3

Alguém afirmou que "UTC é horário de Greenwich sem ajustes de horário de verão". Isso é simplesmente falso. GMT não tem horário de verão. O GMT é medido em Greenwich, Inglaterra (no Obeservatory Naval) [0 longitude, mas não 0 lattitude]. O UTC é medido no equador [0 de longitude e 0 de latitude - que acontece no oceano fora do custo da África].

Que diferença faz? Não faz diferença em termos de "que horas são do dia?" No entanto, faz diferença em termos de cálculo de um ano. Agora você pensaria que um ano seria medido com base na localização do centro (o núcleo) da Terra, certo? Quando o núcleo da Terra está de volta no mesmo local em que estava ~ 365 dias atrás, faz um ano. Não é medido dessa maneira. É medido por um local específico na Terra, voltando ao mesmo local (em relação ao sol) que era ~ 365 dias atrás. Mas o período de um dia e um ano não se divide igualmente. Quando a Terra volta ao local onde estava há um ano, a Terra não está voltada para a mesma direção que no ano passado, de modo que o local na Terra não está voltado para a mesma direção que estava há um ano atrás. Estando mais ao norte, Greenwich não voltará ao mesmo local (em relação ao sol) que foi no ano passado, ao mesmo tempo em que 0 Lat / 0 Long é. Portanto, se você basear a definição em Greenwith vs. 0/0, obtém uma resposta, embora um pouco diferente, à pergunta "quantos dias há em um ano". Dito de outra forma, quando um determinado ponto da Terra retorna ao local em que estava há um ano (em relação ao Sol), o núcleo da Terra não está no mesmo local em que estava há um ano, então, qual local você escolhe assuntos porque o núcleo da terra estará em um local diferente (em relação ao sol) do que era há um ano, se você escolher um local diferente na terra. embora ligeiramente, resposta diferente para a pergunta "quantos dias há em um ano". Dito de outra forma, quando um determinado ponto da Terra retorna ao local em que estava há um ano (em relação ao Sol), o núcleo da Terra não está no mesmo local em que estava há um ano, então, qual local você escolhe assuntos porque o núcleo da terra estará em um local diferente (em relação ao sol) do que era há um ano, se você escolher um local diferente na terra. embora ligeiramente, resposta diferente para a pergunta "quantos dias há em um ano". Dito de outra forma, quando um determinado ponto da Terra retorna ao local em que estava há um ano (em relação ao Sol), o núcleo da Terra não está no mesmo local em que estava há um ano, então, qual local você escolhe assuntos porque o núcleo da terra estará em um local diferente (em relação ao sol) do que era há um ano, se você escolher um local diferente na terra.

Nem o UTC nem o GMT têm horário de verão. O horário da Europa / Londres, o fuso horário em que Greenwich reside, sim. Mas a GMT não. GMT é o que os americanos chamariam de "horário padrão" - ou seja, sem horário de verão.

Voltando à pergunta, o tempo da Epoch tecnicamente não possui um fuso horário. Ele se baseia em um ponto específico no tempo, que, por acaso, se alinha a um horário UTC "uniforme" (no início exato de um ano e uma década, etc.). Se esse conceito não se encaixar bem no seu cérebro, e se ajudar a pensar no tempo da Época como estando no UTC, vá em frente. Você está em boa companhia e no grande esquema das coisas, isso realmente não importa. Você já viu aqueles processos onde somoene recebe US $ 1. É uma espécie de veredicto do tipo "você está certo, mas realmente não importa". Se alguém o processasse por dizer que o horário da época está no fuso horário UTC, ele ganharia $ 1. Isso não lhes compraria uma xícara de café em nenhum Starbucks em nenhum fuso horário do planeta.

Dâmocles
fonte