Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как найти разницу между датами

Короткий ответ

Метод diff() возвращает разницу между двумя датами. Полное число дней лежит в свойстве days:

<?php
 
$start = new DateTime('2025-01-01');
$end = new DateTime('2025-03-15');
 
echo $start->diff($end)->days;

Результат:

73

Годы, месяцы и дни

Разницу можно получить по частям — например, чтобы посчитать возраст:

<?php
 
$diff = (new DateTime('2020-05-10'))->diff(new DateTime('2025-03-15'));
 
echo $diff->y, ' ', $diff->m, ' ', $diff->d;

Результат:

4 10 5

Прибавить дни к дате

Метод modify() сдвигает дату на заданный интервал и сам учитывает длину месяцев:

<?php
 
$date = new DateTime('2025-01-30');
$date->modify('+5 days');
 
echo $date->format('Y-m-d');

Результат:

2025-02-04

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.