Como calcular a diferença entre duas datas em PHP: guia detalhado
Olá a todos! Sou novo em PHP e encontrei um problema ao trabalhar com datas. Preciso calcular a diferença entre duas datas em dias, mas não consigo encontrar a maneira correta.
Tenho duas datas no formato "Y-m-d", por exemplo:
- $date1 = "2023-01-15";
- $date2 = "2023-02-20";
Tentei simplesmente subtraí-las, mas não funciona porque são strings. Depois converti para timestamp usando strtotime() e subtraí, mas o resultado é em segundos, e não tenho certeza de como converter corretamente para dias.
Aqui está meu código atual, que dá resultados estranhos:
```php
$date1 = "2023-01-15";
$date2 = "2023-02-20";
$diff = strtotime($date2) - strtotime($date1);
echo $diff; // exibe 3110400 segundos
$days = $diff / (60 * 60 * 24);
echo $days; // exibe 36 dias, mas não é preciso
```
O problema é que não tenho certeza se estou calculando os dias corretamente. Por exemplo, ao mudar para horário de verão ou em anos bissextos podem ocorrer erros. Além disso, preciso não apenas da quantidade de dias, mas também da diferença em