Avatar ·

Cálculo do número de dias entre duas datas em PHP

Olá a todos! Sou novo em PHP e estou escrevendo um pequeno script para controle de tarefas. Preciso calcular quantos dias se passaram entre duas datas. Por exemplo, tenho uma data de início da tarefa: "2023-10-01" e uma data de conclusão: "2023-10-25". Quero obter a diferença em dias. Tentei usar uma simples subtração de strings, mas isso não funciona porque o PHP não sabe subtrair strings. Depois converti as datas para timestamp usando strtotime(), subtraí um do outro e dividi por 86400 (número de segundos em um dia). Aqui está um exemplo do meu código: ```php $start = '2023-10-01'; $end = '2023-10-25'; $diff = (strtotime($end) - strtotime($start)) / 86400; echo $diff; ``` Mas notei que às vezes o resultado sai com parte fracionária (por exemplo, 24.958333), em vez de um número inteiro. Também ouvi dizer que, devido à mudança para horário de verão/inverno, pode haver um erro de 1 dia. Como calcular a diferença em dias de forma correta e confiável? Existem funções embutidas no PHP para isso? Ficarei grato por uma explicação detalhada com exemplos. <<>> <