Convertendo datas Unix Format para formato normal

Posted: August 7th, 2008 | Author: | Filed under: Banco de Dados, Coisas, Dia a dia, Php | 1 Comment »

Passei hoje o dia inteiro fazendo um orçamento de uns relatórios em php e mysql que pegam dados dentro das tabelas nos bancos de dados de várias instalações do moodle e encontrei uma pequena barreira no meio do caminho. O relatório seria feito por data e quanto fui pegar as datas dos logs na tabela de log, vi que a data era inserida como Unix Format (que é um formato parecido com isso “1218139221″). Você entendeu? Eu não, e precisava transformar isso em data normal.

Descobri o primeiro modo fazendo com o php (que é a linguagem em que serão desenvolvidos os relatórios):

<?php
$dataUnix = time(); //A função time retorna a data atual em Unix Format
$dataFormatada = date(“H:i:s d-m-Y”,$dataUnix); //Assim você converterá a data em Unix Format para a data atual

?>

Então pensei “Deve haver um modo de fazer isso direto no banco” e comecei a procurar uma solução pra isso no MySql. Foi então que descobri uma função interna do MySql chamada “FROM_UNIXTIME”. Tente adivinhar o que ela faz. Ela pega a data em Unix Format e transforma em fornato normal. Basta utilizar do seguinte modo:

SELECT FROM_UNIXTIME(coluna_em_unix_format) where condicao;

Pronto. A data vai vir bonitinha direto do banco. Agora é correr pro abraço.
fcD