Проверка, работает ли пользователь в данный момент в php - PullRequest
0 голосов
/ 14 июня 2019

У меня есть этот код:

$workStart = $point->start; // return 01:05:00
$workEnd = $point->finish; // return 05:30:00

$timeNow = Carbon::now()->format('H:i'); // return 12:30:34

if (.....){
  echo "user work";
} else {
  echo "user NOT work";
}

Как я могу проверить, работает ли пользователь в данный момент или нет?

Ответы [ 4 ]

1 голос
/ 14 июня 2019

Мы можем сравнить наше текущее время в заданном формате, сравнивая текущее время с временем начала и окончания.

$workStart = $point->start; // return 01:05:00
$workEnd = $point->finish; // return 05:30:00

$timeNow = Carbon::now()->format('H:i'); // return 12:30:34

if (strtotime($workStart) < strtotime($timeNow) && strtotime($workEnd) > strtotime($timeNow)){
  echo "user work";
} else {
  echo "user NOT work";
}
0 голосов
/ 14 июня 2019

попробуйте это. это проверяет основанный на am / pm. не забудьте use Carbon\carbon;

public function Checkwork()
   {
   $meeting = Carbon::now();
   $tim=$meeting->format('H:i:s');

   $workStart = '01:05:00'; // return 01:05:00 
   $workEnd = '05:30:00'; // return 05:30:00 


   if(($tim<$workStart)&&($tim>$workEnd)){

    dd('working');
  // dd($tim);

   }
   else{
    //dd($tim);
    dd('not working');
   }

 }
0 голосов
/ 14 июня 2019

Читали ли вы документацию для класса дат Carbon ?Для этого встроена промежуточная функция.

Это делает хороший, читаемый человеком код:

$workStart = Carbon::createFromTimeString($point->start);
$workEnd =Carbon::createFromTimeString($point->finish);


if (Carbon::now()->between($workStart,$workEnd){
  echo "user work";
} else {
  echo "user NOT work";
}
0 голосов
/ 14 июня 2019

Вы можете применить логику, как показано ниже:

ОБНОВЛЕНИЕ: значение, полученное из базы данных, необходимо преобразовать из английской текстовой даты-времени в метку времени UNIX.

if(strtotime($workStart) < strtotime($workEnd)) {
  if ((strtotime($timeNow) > strtotime($workStart)) && (strtotime($workEnd) > strtotime($timeNow))){
    echo "user work";
  } else {
    echo "user NOT work";
  }
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...