Estou trabalhando em um pequeno projeto, no qual existe um módulo de cadastro de contratos com a seguinte estrutura:
CREATE TABLE `contratos` (
`id` int(10) NOT NULL auto_increment,
`numero` int(10) unsigned NOT NULL,
`data_inicio` date default NULL,
`data_fin` date default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Vejam que o campo data_inicio e data_fim são do tipo date, o que só aceita registro no formato YYYY-mm-dd, ou seja, padrão americano.
Graças ao JavaScript, o formulário só aceita no formato brasileiro dd/mm/AAAA.
E agora? Como o PHP transformará os dados do formato dd/mm/AAAA para AAAA-mm-ddd?
Pesquise… Pesquise… Pensei… Pensei… e cheguei ao seguinte código…
$data = “01/01/1900″; // aqui atribuimos na variável a data
$data = explode(“/”, $data); // a função explode() transforma uma string em um array
$data = array_reverse($data); // a função array_reverse() inverte a ordem dos elementos de um array
$data = implode (“-”,$data); // a função implode transforma um array em uma string
print $data; // a função print mostra o valor da variável
Segue agora o código de uma maneira mais otimizada.
//$data = implode(“-”, array_reverse(explode(“/”, $data)));
print $data;
Até a próxima…
Comentários