Para fazer uma conversão automática, é importante saber quais os parâmetros passados, assim fazer a conversão tanto no padrão americano yyyy-mm-dd ou no padrão brasileiro dd/mm/yyyy.
Eis a seguinte Classe que faz esta conversão:
para efetuar a conversão é somente chamar o método estático da classe Ferramenta, da seguinte forma:
/**
* Description of Ferramenta
*
* @author clovesjunior
*/
class Ferramenta {
/**
* Método Estático para Conversão de Data Padrão: (Americano - Brasileiro)
* ou (Brasileiro - Americano) somente com o tipo de data que for inserido.
* @param string $data_s
* @return strin $data
*/
public static function converteData($data_s){
$data = explode('/',$data_s);
if($data[0]!=$data_s){
$date=$data[2].'-'.$data[1].'-'.$data[0];
if(!eregi("^[0-9]{4}-([0-1]{1})([0-9]{1})-([0-3]{1})([0-9]{1})$", $date)){
throw new Exception("Data Inválida!");
}
}else{
$data = explode('-',$data_s);
if(is_array($data)){
$date=$data[2].'/'.$data[1].'/'.$data[0];
if(!eregi("^([0-3]{1})([0-9]{1})/([0-1]{1})([0-9]{1})/[0-9]{4}$", $date)){
throw new Exception("Data Inválida!");
}
}
}
return $date;
}
}
try{
echo Ferramenta::converteData('12/33/2000');
}catch(Exception $erro){
echo $erro;
}
Lógico que deve ser feitas algumas melhorias, assim para fazer a verificação de dias, meses e anos válidos, etc.
Espero que tenham gostado da implementação!
Nenhum comentário:
Postar um comentário
Deixe seu comentário ou dúvida aqui, vou responder o mais rápido possível!