Истек срок действия экзамена или не используется контроллер laravel

#laravel

#laravel

Вопрос:

У меня есть две даты: exam_start_date_time и exam_end_Date_time.Когда я нажимаю «начать экзамен», он переходит к функции laravel и проверяет, передано ли текущее время даты и времени окончания, ему нужно показать «срок действия экзамена истек», иначе он начнет экзамен.

 $t1 = CarbonCarbon::parse($questionData->exam_end_date_time);
$t2 = CarbonCarbon::parse($questionData->exam_start_date_time);
if (CarbonCarbon::now()->gte($t1)){
    return redirect()->back()->with('error', 'Exam Expired !!');
}
  

но здесь я получаю exam expired, даже время окончания экзамена остается до закрытия.

Ответ №1:

Попробуйте это

 $t1 = CarbonCarbon::parse($questionData->exam_end_date_time);
$now = CarbonCarbon::now();

if($t1 < $now)
{
    return redirect()->back()->with('error', 'Exam Expired !!');
}
  

Комментарии:

1. он не работает, все еще остается время и показывает, что экзамен истек

2. покажите мне свою $questionData->exam_end_date_time ценность? формат?

Ответ №2:

возможно, вы ищете это….

я думаю, это сработает для вас

 $endTime = CarbonCarbon::parse($questionData->exam_end_date_time);
    $startTime = CarbonCarbon::parse($questionData->exam_start_date_time);
         if (CarbonCarbon::now()->between($endTime,$startTime)){
               return redirect()->back()->with('error', 'Exam Expired !!');
         }else{
            $left = Carbon::now()->diffInMinutes($endTime ,false);
            $left = Carbon::now()->diffInDays($endTime ,false);
            $left = Carbon::now()->diffInHours($endTime ,false);
            return redirect()->back()->with('info', $left.'Time Left !!');
         }
  

Комментарии:

1. если экзамен состоится 22/09/2020, время начала — 12.00, а время окончания — 1.00. и текущее время — 12.42, тогда у экзамена есть время. он не завершен. тогда срок действия экзамена не истек

2. чего вы хотите? какую переменную вы используете? мин, часы, дни?

3. min использует, потому что у меня здесь есть таймер.

4. используйте `$ left.’ Осталась минута !!’

5. проверьте конфигурацию местного времени