Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera.. Acho que é até uma pergunta boba.. mas olha to quebrando a cabeça...
Tenho um formulário de cadastro, funcionando direitinho, somente com campo data de expiração é que não to sabendo fazer..
Por Exemplo: Se no campo data de expiração eu digitar 26/06/2018 04:20:00 no banco de dados fica tudo zerado 0000-00-00 00:00:00
Mas se no campo data de expiração eu digitar 2018-06-26 04:20:00 ele de fato grava no banco
Minha dúvida é.. Onde eu vou tratar essa conversão?
No formulário de cadastro (exemplo: cadastrar.php) ou na página onde faz o processamento, (exemplo: cadastrando.php) ???
O echo eu consigo de boa, converter para o formato que eu quero, mas meu problema é a inserção de dados no banco, considerando que quem olha o banco em si fica no formato americano, claro.
No banco o campo é datetime.
cadastrar.php
<input name="dataexpiracao" required type="text" placeholder="00/00/0000 00:00:00" size="20" maxlength="20" />
cadastrando.php
$dataexpiracao=$_POST['dataexpiracao'];>
2 horas atrás, BrunoBit disse:
Use o date() + strtotime() pra formatar da forma que você quer:
$datainicio = date("Y-m-d H:i:s",strtotime($_POST['dataexpiracao']));
melhor forma.mais prefiro salva a data em time e conveter quando preciso em vez de salva em date>
5 horas atrás, Marcos_imasters disse:
melhor forma.mais prefiro salva a data em time e conveter quando preciso em vez de salva em date
É uma boa também. Nesse caso dele ele ta querendo esse formato específico pra salvar no banco.
Bruno e Marcos, obrigado pelo retorno,
mas saberiam dizer porque no banco a data e hora estão caindo como?:
1969-12-31 18:00:00
Fixo sempre assim, pelo menos não ta caindo mais tudo zerado 0000-00-00 00:00:00
Resolvido, desconsiderar a dúvida acima, é que a minha máscara la no cadastro estava com "/" mudei pra "-" e resolveu o problema secundário.
Obrigado pelas dicas pessoal! Vocês são feras!!!!
Resolvido!
Use o date() + strtotime() pra formatar da forma que você quer:
$datainicio = date("Y-m-d H:i:s",strtotime($_POST['dataexpiracao']));