Comando para converter de UnixTime para Normal

Muitas são as vezes que encontro datas no formato Unix, obviamente não entendo um demônio de que data e hora estão me mostrando, é aí que é necessário converter o que está em UnixTime para "normal".

Mas, primeiro a pergunta:

O que é hora do Unix?

Podemos ler para Wikipedia e veremos que o número à nossa frente é o número de segundos que se passaram desde 1º de janeiro de 1970 até aquele momento, algo como "1437905791" na verdade significa: 2015-07-26 10:16:31

Onde encontro datas no formato de hora Unix?

Muitos aplicativos tendem a salvar datas ou momentos neste formato no banco de dados que usam, fóruns, servidores de aplicativos, etc.

Como converter de um terminal UnixTime para algo que você possa entender?

Simples, suponha que temos a seguinte data: 1416483005

Para convertê-lo em algo que possamos entender, basta colocar: data -d @

Isso é:

date -d @1416483005

E isso nos dirá o que representa em 20 de novembro de 2014, às 06:30:05

hora de conversão unix

Existe um site para converter do UnixTime?

Sim, claro, Google «data para unix»E voila, eles verão muito RESULTADOS.

Posso obter a data convertida direta do MySQL?

Sim, claro, supondo que seja um banco de dados chamado stats, uma mesa chamada vezes, e ter um campo denominado data que está no formato Unix, a consulta para obter todos os dados desse campo convertido já seria:

select FROM_UNIXTIME(date) from stats.times;

Ou seja, temos uma função chamada FROM_UNIXTIME () que nos auxilia nessa conversão, se dentro dos parênteses colocarmos o campo cuja informação é desse tipo, ele converte.

O fim!

Bem, não há muito mais a acrescentar, divirta-se!


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   saeron dito

    álaaaaa não sabia que seria usado esse formato, que é ortopédico, vamos ver o que acontece quando o número atinge o máximo de memória da variável. Fim do mundo galera, todo mundo estava errado, no final vai ser o unix quem vai nos dizer quando.

  2.   Mário Guilhermo Zavala Silva dito

    Que publicação excelente… !! Obrigado pela informação !!!

    Felicidades …

  3.   caçador dito

    O colorizador ccze log tem uma opção para converter o formato de data Unix.

    tailf /varlog/squid3/access.log | ccze -C

  4.   Armando Leisure dito

    Postagem muito boa, é bastante útil conhecer o comando, a hora unix é uma dor de cabeça quando você vê um log e se você vê apenas o número você não tem ideia de qual é a data neste formato.

    1.    Azureus dito

      Exatamente, o que diabos você está perguntando quando diabos um evento ocorreu no sistema e não saber como traduzir isso.

  5.   eliotime3000 dito

    Boa ideia para exibir a hora com Unixtime.

  6.   chuva dito

    Tenho feito testes com time.h em c com time (0) me dá os segundos desde 1970, sei que existem ferramentas que fazem isso automaticamente, mas queria ver manualmente
    Acrescento 1970 ao número de anos que se passaram desde então, obtenho os anos dividindo os segundos por 60 para obter os minutos e novamente para obter as horas então entre 24 e obtenho os dias dos últimos 365 e obtenho os anos.
    ano longo = 1970 + ((tempo (0) / 60/60/24/365)); me dá a data atual

    para o número do mês, pego a data atual e subtraio os segundos da data até o ano passado, mas ainda tenho os segundos do ano passado.
    long numdelmes=time(0)-(((time(0)/60/60/24/365)-1)606024365);

    Eu pego os números e divido por 60 para obter os minutos e novamente por 60 para obter as horas, o resto do ano. Já tenho o número de dias este ano agora pego o resto da divisão entre 7 e eles me dão os dias
    long diasemana=((numdelmes/60/60/24)-365)%7;

    Repito o processo, mas não divido mais por 7, mas por 31 e recebo o número do mês
    numdelmes=((numdelmes/60/60/24)-365)/31;

  7.   Fábrica dito

    Um ótimo artigo, ficou totalmente claro, também quero enfatizar o trabalho da comunidade, nos comentários muitas dúvidas também são esclarecidas e não é fácil ter pessoas assim acompanhando um blog. A 10.