ДЛЕ Скрипт! |
Искусство Войны
Есть в PHP такая функция date_diff(). Почем у неё разница между 30.06 и 31.07 такая же как между 30.06 и 01.08? (пример)
В обоих случаях пишет что разница "1 месяц и 1 день", хотя во втором случае явно на 1 день больше. Вот пример.
function RaznicaDat($dN,$dK)
{
echo "$dN - $dK = ";
$dN=date_create_from_format('d.m.Y',$dN);
$dK=date_create_from_format('d.m.Y',$dK);
$Interval=date_diff($dK,$dN);
echo $Interval->format('%y лет, %m месяцев, %d дней').'
';
}
RaznicaDat('30.06.2018','31.07.2018');
RaznicaDat('30.06.2018','01.08.2018');
Ответы:
Андрей Панарин
Потому что «месяц» — это не конкретный интервал, а условное понятие, завязанное на дефектах нашего календаря.
От перемены мест слагаемых сумма меняется.
30 июня + 1 день + 1 месяц = 1 июля + 1 месяц = 1 августа
30 июня + 1 месяц + 1 день = 30 июля + 1 день = 31 июля
А вот как это в PHP работает, я не изучал.
|