PHP – Converter data no padrão do MySQL para padrão brasileiro em PHP

Fernando Valler 04/04/2020 MySQL, PHP


Existe algumas formas em que é possível fazer essa conversão do padrão americano, que é o padrão do MySQL, para o padrão brasileiro, gostaria de compartilhar as que mais utilizo.

// Converte do padrao MySQL para brasileiro
function dataBR($value){

	// Verificar vazio
	if(empty($value) || $value == '0000-00-00')
		return false;

    return date("d/m/Y", strtotime($value));
}

// Converte do padrao MySQL para brasileiro com horas
function dataHoraBR($value){

	// Verificar vazio
	if(empty($value) || $value == '0000-00-00')
		return false;

    return date("d/m/Y G:i:s", strtotime($value));
}

Quanto você receber uma data no padrão brasileiro e desejar converter para o padrão do MySQL basta fazer conforme a função abaixo.

// Converte padrao brasileiro para padrao MySQL
function dataMysql($value){

	// Verificar vazio
	if(empty($value))
		return false;

    return date("Y-m-d", strtotime($value));
}

Caso precisa escrever uma data por extenso como no final de um protocolo você pode usar a função abaixo:

// Converte uma data para extenso 
function dataBRExtenso($value){

	// Verificar vazio
	if(empty($value))
		return false;	

  return date("d \d\\e F \d\\e Y", strtotime($value));	
}

Outra dica é definir o time zone para o padrão horário de São Paulo. Essa configuração deve ser colocada em seus arquivos de config do sistema para que seja carregada logo no início do script.

// Definir time zone [Ex: America/Manaus, America/Fortaleza]
date_default_timezone_set('America/Sao_Paulo');

Veja mais timezone em https://www.php.net/manual/pt_BR/timezones.america.php


Fernando Valler - Programador Web
Fernando Valler

Sou programador web, motivado por desafios e sempre buscando aprender algo novo. Aqui você pode encontrar alguns projetos.