Avatar ·

Como calcular o número de dias entre duas datas em PHP?

Olá a todos! Sou novo em PHP e não consigo entender as datas. Preciso escrever um script que calcule o número de dias entre duas datas. Por exemplo, quero saber quantos dias se passaram desde o início do ano até hoje, ou quantos dias faltam para o Ano Novo. Tentei algo assim: ```php $date1 = '2023-01-01'; $date2 = '2023-12-31'; $days = ($date2 - $date1) / (60 * 60 * 24); echo $days; ``` Mas não funciona — mostra algo sem sentido ou erro. Entendo que strings não se subtraem assim, mas como fazer corretamente? Na internet há muitos conselhos diferentes: alguns recomendam `strtotime()`, outros `DateTime`, e outros `date_diff`. Estou completamente confuso. Por favor, me digam a maneira mais correta e moderna de encontrar a diferença em dias entre duas datas em PHP. É importante que a solução funcione com datas em formatos diferentes (por exemplo, `2023-01-01` ou `01.01.2023`) e considere anos bissextos. Desde já, obrigado! <<>>

Usando a classe DateTime (método recomendado)