Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, como eu formato a data no select de uma consulta?
Exemplo , o usuário digita no input 10/10/2017 e o post vai para o arquivo valida.php e é processado para ser gravado no banco por 2017-10-10. Como faço isso? a função que utilizo é a D[ATE_FORMAT()](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format) ? como uso ela?Pessoal, é muito simples, não precisa complicar tanto. Utilizem a classe nativa DateTime();
Se à página valida.php recebe o POST no formato 21/02/2018, basta transformar e salvar no DB da seguinte forma:
$data = '21/02/2018';
$dt = DateTime::createFromFormat('d/m/Y', $data);
$dataInsert = $dt->format('Y-m-d');
Basta fazer o insert agora com o valor da variável $dataInsert.
Para exibir na hora do select no mysql, utilize o date_format() :
SELECT *,date_format(campo_data, '%d/%m/%Y') AS data FROM tabela
Abraço.
Eu tentei utilizar o date() e o date_format() mas não consegui, talvez alguém aqui possa explicar o porquê.
Fiz essa function que faz essa transformação para você de "10/10/2017" para "2017-10-10":
Spoiler
/*transforma string em array */