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

Ответить
esvechka
Сообщения: 2
Зарегистрирован: 22 ноя 2023, 18:58
Имя: Евгений
Откуда: Россия

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

Сообщение 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>';

Код подсчитывает количество дней, недель и месяцев для последующих расчетов. Суть проблемы в том что все нормально работает с типом поля Дата с календарем, а вот с Расширенным календарем нет. Принципиально нужен именно он. Подскажите куда копать.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

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

Сообщение support »

Проверяйте данные которые на входе, возможно в расширенном календаре используется дата + время и тогда расчеты нужно по другом уделать.
esvechka
Сообщения: 2
Зарегистрирован: 22 ноя 2023, 18:58
Имя: Евгений
Откуда: Россия

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

Сообщение esvechka »

На входе только даты, время не используется.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

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

Сообщение 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>';

Ответить