Eu tenho um tempo de época na célula H2
que tem um valor de 1517335200000
. Estou tentando convertê-lo em um formato legível por humanos que deve retornar 30/01/2018 6:00:00 PM
em GMT.
Tentei convertê-lo com a fórmula H2/86400+25569
que obtive no fórum do OpenOffice. A fórmula retorna o valor 17587319
. Quando altero o formato do número no LibreOffice Calc para Date
, ele retorna o valor de 06/09/-15484
. Não é o valor que eu quero. Então, como posso obter o valor no formato dd/mm/aaaa hh:mm:ss?
If
H2
contém o número a ser transformado (1517335200000
).Faça
H3
conter a fórmula:= H2/1000/(60*60*24) + 25569
Que retornará o número 43130.75.
Altere o formato da célula
H3
até a data. Qualquer:Altere o formato da
H3
célula para o formato de data necessário:Expanda a largura da célula se não for larga o suficiente para mostrar o formato desejado (dica: três # aparecem).
Por que:
O tempo da época é em segundos desde 1/1/1970.
O tempo interno do Calc é em dias desde 30/12/1899.
Então, para obter um resultado correto em H3:
Obtenha o número correto (última fórmula):
Mas o valor da época que você está dando é muito grande, é três zeros maior do que deveria. Deve ser 1517335200 em vez de 1517335200000. Parece ser dado em milissegundos. Então, divida por 1000. Com essa mudança, a fórmula dá:
Altere o formato de
H3
data e hora (Formato --> Células --> Números --> Data --> Data e hora) e você verá:em H3.
Obviamente, como o horário da época do Unix é sempre baseado no UTC (+0 meridiano), o resultado acima precisa ser alterado quantas horas o fuso horário local estiver distante do UTC. Portanto, para obter a hora local, se o fuso horário for o horário padrão do Pacífico GMT-8, precisamos adicionar (-8) horas. A fórmula para H3 com fuso horário local (-8) em H4 seria:
E apresentado como:
se o formato de H3 estiver definido para tal formato de hora.