Мой вопрос: если дата в понедельник, тогда мой таймер должен начинаться с 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
Заранее спасибо.
Отредактировано: эта функция сначала проверяет, в какой день назначена дата, а затем вычисляет разницу во времени на основе ваших критериев.
<?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
Других решений пока нет …