Как я могу получить продолжительность между пустой меткой времени даты и другой определенной? - PullRequest
0 голосов
/ 30 декабря 2018

Я кодирую, чтобы вычислить продолжительность между пустой датой времени и другой, непустой датой. Пожалуйста, помогите мне.

Я хотел бы рассчитать эту продолжительность, чтобы установить срок действия кода подтверждения, когда участник вфорум возвращается слишком поздно или не возвращается в течение 2 дней с максимальной задержкой

Этот код работает нормально, кроме случаев, когда дата возвращения пуста:

$date_participation= strtotime($row['date_participation']);
$date_come_back= strtotime($row['date_come_back']);

$expiration_delay = 2;

$days = $expiration_delay * 86400;
echo "<br> duration in seconds is: " . $date_come_back- 
$date_participation;

if (($date_come_back- $date_participation) >= $days){
    $sql_set_expired = "UPDATE `winners` SET `confirmation_status` = 'expired' WHERE id_recharge_winner ='$i'";
    $set_expired_result = mysqli_query($conn, $sql_set_expired);
       }

     the `$i` is the participant's row in table winners

1 Ответ

0 голосов
/ 30 декабря 2018

Вот как я привожу свою проблему, не беспокоясь, если есть пустая дата: я пометил свой единственный параметр Difference_between_timestampdate (), чем я определяю один день как срок действия.Работает нормально, спасибо тем, кто мне помог.

 function Difference_between_timestampdate($first_date, $last_date){

 $first_date = strtotime($first_date );
 $last_date = strtotime($last_date);

  $days = $expiration_delay * 82800;

 if(empty($last_date)){
 $duration = time() - $first_date;
  }else{
 $duration = $last_date - $first_date;
 }
 return $duration;
 }


$date_participation = $row['date_participation'];
$date_come_back = $row['date_come_back'];

$expiration_delay = 1; //One day
if ((Difference_between_timestampdate($date_participation, $date_come_back)/82800 ) 
>= $expiration_delay){echo 'Expired duration';}else{echo 'Valid duration';}
...