Php Date Функция со сложностью

Мой вопрос: если дата в понедельник, тогда мой таймер должен начинаться с 8:30 и вычислять разницу во времени с 8:30 до назначенной даты, в этом случае его 2017-06-02 14:20:00 для первого , Таким образом, разница во времени должна составлять 5 часов 50 минут.

Во втором случае дата, созданная 2017-06-02 09:50:00, и назначенная дата: 2017-06-03 13:20:00. Поэтому он должен рассчитывать с 9:50 до 9:00 вечера и снова начинать с 8:30 до 13:20:00 (если следующий день лежит в понедельник-субботу. Если следующий день — солнце, таймер должен рассчитывать с 11:00 до 13:20. и должен дать мне продолжительность в часах и минутах.

Как бы я это сделал? Это в Php & MySQL. Я не какие-либо фреймворки или системы CMS. Его родной php.

Мои данные:

Date Created: 2017-06-02 02:50:00
Date Assigned: 2017-06-02 14:20:00

Date Created: 2017-06-02 09:50:00
Date Assigned: 2017-06-03 13:20:00

Mon - Sat   =   8:30am - 9:00pm
Sunday      =   11am - 5pm

Заранее спасибо.

0

Решение

Отредактировано: эта функция сначала проверяет, в какой день назначена дата, а затем вычисляет разницу во времени на основе ваших критериев.

<?php

echo getTimeLapsedCustom('2017-06-02 14:20:00') . "<br>";
echo getTimeLapsedCustom('2017-06-03 13:20:00') . "<br>";

function getTimeLapsedCustom($time){
$timecreated = '';
$timeassigned = $time;
$datetime2 = DateTime::createFromFormat('Y-m-d H:i:s', $timeassigned);

if($datetime2->format('D') === 'Sun'){
$timecreated = $datetime2->format('Y-m-d') . ' 11:00:00';
}else{
$timecreated = $datetime2->format('Y-m-d') . ' 08:30:00';
}$datetime1 = DateTime::createFromFormat('Y-m-d H:i:s', $timecreated);

$interval = $datetime1->diff($datetime2);
return $interval->format('%h hours %i min');
}

Результаты:

5 hours 50 min
4 hours 50 min
0

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

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

По вопросам рекламы [email protected]