Я использую Codeigniter и хочу сделать вычитание в представлении.
<?php
$cadena = strtotime($seguimiento->horaInicio);
$cadena = date("H:i", $cadena);
echo $cadena;
$cadena2 = strtotime($seguimiento->horaTermino);
$cadena2 = date("H:i", $cadena2);
echo $cadena2;
$res = abs($cadena - $cadena2);
echo $res;
?>
В случае, если время есть 11:30 16:15
, результат должен быть, 4,85
но вместо этого он показывает мне 5
. Надеюсь, я хорошо объяснил себя.
var HDesde = $(this).data("inicio");
var HHasta = $(this).data("fin");
// var dia = $(this).data("dia");
// if (i=0) { fecha = dia; }
hora1 = (HDesde).split(":");
hora2 = (HHasta).split(":");
HoraDesde=(hora1[0]);
MinutoDesde=(hora1[1]);
HoraHasta=(hora2[0]);
MinutoHasta=(hora2[1]);
TotDesde=parseInt((HoraDesde*60)) + parseInt(MinutoDesde);
TotHasta=parseInt(HoraHasta*60) + parseInt(MinutoHasta);
RestaHoras=(TotHasta - TotDesde);
TotHorasTrab=(RestaHoras / 60).toFixed(2);
$(this).html(TotHorasTrab);
Функция diff php может вам помочь .
Переменная
$interval
имеет тип DateInterval ; если вы хотите работать с этой переменной, например, чтобы добавить ее к другой дате, вы можете использовать функцию добавления :DateTime
Дело в том, что вам нужны два допустимых объекта для использованияdiff
. Оттуда вы можете получить предметDateInterval
сdiff
. Затем вы можете воспользоваться свойствами этого объекта для выполнения любых необходимых вам вычислений.Например:
У вас есть вывод:
Если вы заглянете внутрь своего объекта
$dateInterval
, вы увидите, что он содержит:Делаем один
var_dump($dateInterval);
и будем иметь:Предположим, теперь вы хотите подсчитать, сколько минут у вас есть. Вы применяете соответствующие вычисления к свойствам
d, h, i
объекта (дни, часы, минуты):У вас будет на выходе:
Другой путь
Еще одна вещь, которую вы могли бы сделать, это получить метку времени двух объектов, вычесть их значение и выполнить над ним операции.
Посмотрим:
Выход в этом случае будет:
Совокупный расчет с использованием цикла
Предположим, что ваш объект похож на этот.
Вы можете создать функцию, которая вычисляет общее количество секунд, которое вы накапливаете в переменной, и в конце вы используете это общее количество для представления данных по мере необходимости:
Вылет из:
Я рекомендую вам использовать пакет под названием Carbon, это его документация https://carbon.nesbot.com/docs/ , это лучшее, что я видел для работы с датами в php.
Пример:
в то время как ($ запрос = mysqli_fetch_array ($ результаты)) {