Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Data php

Estou tentando subtrair o resultado entre duas datas porém está me mostrando uma notícia de erro.

Eis o código:

$aniversario = $_POST['aniversario'];
 $dataAtual = date("Y/m/dd");
 $noRobot = $dataAtual - $aniversario;
  echo $noRobot;

Eis o erro:

Notice: A non well formed numeric value encountered in C:\xampp\htdocs\toqve\no_robot.php on line 18.

O código está fazendo a subtração, mas exibe o erro na linha 18 que no caso é a linha:

 $noRobot = $dataAtual - $aniversario;
4 respostas

Oi Francis, na verdade você está subtraindo uma string de uma data, a conversão do PHP talvez esteja ajudando, mas essa não é a melhor forma de fazer isso. Já olhou na documentação a forma recomendada de obter diferença entre datas?

http://php.net/manual/en/datetime.sub.php

Sou leigo, não consigo entender documentações muito bem ainda...rs Você não teria um exemplo dentro do meu código?

solução!

Consegui desta forma. Caso alguém precise.

$post_aniversario = $_POST['aniversario'];
$aniversario = new DateTime();
$aniversario = $aniversario->createFromFormat('Y-m-d', $post_aniversario);
$data_atual = new DateTime();
$diff = $aniversario->diff($data_atual);
$dias = $diff->y;
echo $dias;

Opa, se funcionou então está ótimo! Depois você tenta melhorar isso quando for ganhando mais experiência na linguagem.

Lembra de marcar como solução o post que te ajudou a resolver, tá bem?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software