Страница 1 из 1

Проблема с Расширенным календарем

Добавлено: 12 окт 2025, 21:50
esvechka
Имеется следующий код:

Код: Выделить всё

$price = [330];
$ts_start = [327];
$ts_end = [328];

$d1 = DateTime::createFromFormat('U', $ts_start);
$d2 = DateTime::createFromFormat('U', $ts_end);
$interval = $d1->diff($d2);
$total_days = $interval->days;
$weeks = round($total_days / 7);
$months = ($interval->y * 12) + $interval->m;
$total_amount = floor($total_days * $price);

echo '<script>';
echo '$("#fields_701").val(' . $total_days . ');';
echo '$("#fields_728").val(' . $weeks . ');';
echo '$("#fields_699").val(' . $months . ');';
echo '$("#fields_333").val(' . $total_amount . ');';
echo '</script>';

Код подсчитывает количество дней, недель и месяцев для последующих расчетов. Суть проблемы в том что все нормально работает с типом поля Дата с календарем, а вот с Расширенным календарем нет. Принципиально нужен именно он. Подскажите куда копать.

Re: Проблема с Расширенным календарем

Добавлено: 14 окт 2025, 11:57
support
Проверяйте данные которые на входе, возможно в расширенном календаре используется дата + время и тогда расчеты нужно по другом уделать.

Re: Проблема с Расширенным календарем

Добавлено: 17 окт 2025, 20:41
esvechka
На входе только даты, время не используется.

Re: Проблема с Расширенным календарем

Добавлено: 07 ноя 2025, 20:01
Fait
Вы пытаетесь считать дату через unix формат, но оно там хранится строкой.
Вот ваш вариант:

Код: Выделить всё

$price = [330];
$ts_start = [327];
$ts_end = [328];
$ts_start = strtotime($ts_start);
$ts_end = strtotime($ts_end);

$d1 = DateTime::createFromFormat('U', $ts_start);
$d2 = DateTime::createFromFormat('U', $ts_end);
$interval = $d1->diff($d2);
$total_days = $interval->days;
$weeks = round($total_days / 7);
$months = ($interval->y * 12) + $interval->m;
$total_amount = floor($total_days * $price);

echo '<script>';
echo '$("#fields_701").val(' . $total_days . ');';
echo '$("#fields_728").val(' . $weeks . ');';
echo '$("#fields_699").val(' . $months . ');';
echo '$("#fields_333").val(' . $total_amount . ');';
echo '</script>';