Convertendo data com php
Hoje irei postar uma função que uso diariamente. Lembro quando não tinha pensado em nada ainda, como que era dificíl pegar uma data pradrão americano e converter para padrão português. Fazia esse processo para visualizar e para gravar no banco. Mas deixei um pouco a preguiça de lado e fiz uma função bem simples que faz essa conversão de datas.
Segue o codigo:
<?php
/**
* Função para converter data
*
* @param $data
* @return $data
*/
function converterData($data)
{
if(substr($data,2,1) == "/")
{
$dd = substr($data, 0,2);
$mm = substr($data, 3,2);
$aa = substr($data, 6,4);
$time = substr($data, 11,8);
if($time != "")
$data = $aa."-".$mm."-".$dd." ".$time;
else
$data = $aa."-".$mm."-".$dd;
}
else
{
$dd = substr($data, 8,2);
$mm = substr($data, 5,2);
$aa = substr($data, 0,4);
$time = substr($data, 11,8);
if($time != "")
$data = $dd."/".$mm."/".$aa." ".$time;
else
$data = $dd."/".$mm."/".$aa;
}
if($data=='//')
{
$data = '';
}
return $data;
}
Simples não?
Vou mostrar como aplicar no seu codigo:
<?php
$data = "2009-07-08";
echo converterData($data);
// saida
08/07/2009
$data = "08/07/2009";
echo converterData($data);
// saida
2009-07-08
?>
Caso encontre algum erro ou tenha alguma sugestão de como poder melhorar, poste ai para conversar-mos um pouco. Abraços e até a proxima.


Olá Marcelo,
Você também pode utilizar a função strtotime para isso. Por ex:
echo date(‘Y-m-d’, strtotime(’24/10/2010′)); // Output 2010-10-24
ou
echo date(‘d/m/Y’, strtotime(’2010-10-24′)); // Output 24/10/2010
Abraços!