У меня есть проблема, чтобы получить разницу в месяце между двумя датами в месяцах.
$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');
Это показывает месяцы, но не всю разницу в месяцах. Я просто хочу различий в месяцах между датами.
%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()
,
Других решений пока нет …