Временная задержка между двумя датами ("F j, Y") в php

У меня есть проблема, чтобы получить разницу в месяце между двумя датами в месяцах.

$d1 = date_create('January 1, 2013');
$date = date("F j, Y");
$d2 = date_create($date);
$dif = date_diff($d1, $d2);
 //echo $dif->format('%y years');
 echo $dif->format('%m months');

Это показывает месяцы, но не всю разницу в месяцах. Я просто хочу различий в месяцах между датами.

1 ответ

Решение

%m показывает только до 11 месяцев. После этого года заселены. Если вам нужно общее количество месяцев, вам нужно указывать в годах и делать некоторые вычисления:

$d1  = date_create('January 1, 2013');
$d2  = date_create();
$dif = date_diff($d1, $d2);
echo ($dif->format('%m') + $dif->format('%y') * 12) . ' months';

демонстрация

К вашему сведению, вышеуказанное решение удаляет ненужный код. Если вы хотите сегодняшнюю дату, просто не передавайте параметры date_create(),

Другие вопросы по тегам