дата и разница во времени с разницей в цвете

Здесь я делаю модуль задачи, теперь я хочу отслеживать временную шкалу, здесь у нас есть две даты

  1. Срок выполнения задания (2017-12-28 09:00 PM)
  2. Задание выполнено (2017-12-28 09:39)

Используя эти две даты, я хочу отследить их временную шкалу. Предположим, что до установленного срока я выполнил свою задачу, значит, я хочу показать зеленый цвет, и сколько дней и сколько часов я выполнил его, я хочу отобразить, так же, предположим, что он отложил свою временную шкалу. означает, что я хочу показать красный цвет и сколько дней и сколько часов я закончил его, я хочу показать

я пытался, но он не работает должным образом

    date_default_timezone_set('Asia/Kolkata');
$due_on = '2017-12-28 09:00 PM';
$start_ex = explode(" ",  $due_on);
$start = $start_ex[0].' '.$start_ex[1];
$completedON ='2017-12-28 09:39 AM';
$datetime1 = date_create($start);
$datetime2 = date_create($completedON);
$interval = date_diff($datetime1, $datetime2);
echo $time_diff= $interval->format('%R%a days %h hours');

Обновленный код

    date_default_timezone_set('Asia/Kolkata');
$compltedOn ='2017-12-28 09:39 PM';//2016-04-17 10:00 AM
$dueDate ='2017-12-28 09:00 PM';//2016-04-17 07:51:30 PM
$datetime1 = date_create($compltedOn);
$datetime2 = date_create($dueDate);
$interval = date_diff($datetime1, $datetime2);
echo $time_diff= $interval->format('%R%a days %h hours %i minuts');//-0 days 0 hours 39 minuts 0 seconds

0

Решение

Две проблемы:

  1. Вы удаляете индикатор PM из времени начала, поэтому date_create будет рассматривать его как утреннюю дату, а затем сравнивать со второй датой — возвращая разницу в минутах.

  2. ты используешь echo $time_diff= $interval->format('%R%a days %h hours');
    так что меняй это $time_diff= $interval->format('%R%a days %h hours');
    echo $time_diff;

Измененный код:

date_default_timezone_set('Asia/Kolkata');
$compltedOn ='2017-12-28 09:39 PM';//2016-04-17 10:00 AM
$dueDate    ='2017-12-28 09:00 PM';//2016-04-17 07:51:30 PM
$datetime1 = date_create($compltedOn);
$datetime2 = date_create($dueDate);
$interval = date_diff($datetime1, $datetime2);
$cls = ($interval->invert == 1 ) ? "red" : "green";
$time_diff= "<span class='{$cls}'>".$interval->format('%R%a days %h hours %i minuts')."<span>";
echo $time_diff;
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector