PHPQuem está montando um sistema ou qualquer que seja o App em php com MySQL e tem campos com Datas ou valores Monetários terá a necessidade (uma hora) de converter a data para o padrão nacional na hora de ler.

E converter para o padrão americano para salvar, assim como os valores monetários também, onde eles utilizam “.” (ponto) para decimal e aqui utilizamos o “,” (vírgula).

Para esse “desencontro cultural” eu costumo utilizar funções para converter, segue algumas abaixo:

Converter Datas EUA para Brasil:

function DateUSAtoBR($dateUSA){
if ($dateUSA != ""){
$ano = substr($dateUSA, 0, 4);
$mes = substr($dateUSA, 5, 2);
$dia = substr($dateUSA, 8, 2);
$dateBR = $dia . '/' . $mes . '/' . $ano;
return $dateBR;
} else {
return "";
}
}

Converter Datas de BR para EUA:

function DateBRtoUSA($dateBR){
if ($dateBR != ""){
$ano = substr($dateBR, 6, 4);
$mes = substr($dateBR, 3, 2);
$dia = substr($dateBR, 0, 2);
$dateUSA = $ano . '-' . $mes . '-' . $dia;
return $dateUSA;
} else {
return "";
}
}

Converter valor decimal (float) EUA para Brasil:

function DecimalUSAtoBR($dado){
if ($dado != ""){
return number_format($dado, 2, ",", ".");
} else {
return "";
}
}

P.S: Essa função number_format() é de mais!

Converter valor decimal (float) Brasil para EUA:

function DecimalBRtoUSA($dado){
if ($dado != ""){
return number_format($dado, 2);
} else {
return "";
}
}

Bem é só isso, a função number_format() também faz redundância de valores caso você defina quer deseja somente 1 casa decimal.

Posts Relacionados