Avatar ·

Como calcular a diferença entre duas datas em PHP?

Olá a todos! Sou um desenvolvedor PHP iniciante e tive um problema ao calcular a diferença entre duas datas. Preciso criar uma funcionalidade para calcular a idade do usuário no site. Tenho uma data de nascimento no formato '1990-05-15' e a data atual. Estou tentando calcular a diferença em anos, meses e dias. Tentei usar operações aritméticas simples, mas obtenho resultados estranhos. Por exemplo, subtraio uma data da outra e obtenho um número que não corresponde à diferença esperada. Aqui está meu código: ```php $birthday = '1990-05-15'; $today = date('Y-m-d'); $diff = $today - $birthday; echo $diff; // Exibe algo incompreensível, como 24 ``` Entendo que isso está errado, porque strings não podem ser subtraídas assim. Tentei converter para timestamp usando strtotime(), mas os resultados ainda são imprecisos. Por exemplo, ao calcular a diferença entre 2023-01-01 e 2023-03-01, obtenho 59 dias, embora devessem ser 59 dias (janeiro 31, fevereiro 28), mas se pegar 2023-01-01 e 2023-04-01, a diferen