如何使用PHP计算周末的罚款

时间:2017-08-26 15:06:39

标签: php

我希望在星期六和星期日或只有星期天不包括罚款时防止罚款计算。如果我们使用borrowdate,currentdate,并从我的数据库中完全恢复功能,我认为会更好谢谢!

$borrowdate = new Datetime($row['date_return']);
$returndate = new Datetime($row['due_date']); 
$currentdate = new Datetime();        
$fines = 0;
if($currentdate > $returndate){
     $days = $borrowdate->diff($returndate ?? $currentdate, true)->days;
     echo "₱ ". $fines = $days > 0 ? intval(floor($days)) * 15 : 0;
     $fi = $row['borrow_details_id'];
     mysqli_query($dbcon,"update borrowdetails set fines='$fines' where borrow_details_id = '$fi'");
}

2 个答案:

答案 0 :(得分:0)

这样做首先找出当前日期的一天,并检查它是星期日还是星期六。从星期几返回的值将是数字。 0表示周日,周六表示6周。

   $borrowdate = new Datetime($row['date_return']);
   $returndate = new Datetime($row['due_date']); 
   $currentdate = new Datetime(); 
   $dayofweek = date('w', $currentdate->getTimestamp());       
   $fines = 0;
   if($currentdate > $returndate){
       if($dayofweek != 0){
           $days = $borrowdate->diff($returndate ?? $currentdate, true)->days;
           echo "₱ ". $fines = $days > 0 ? intval(floor($days)) * 15 : 0;
           $fi = $row['borrow_details_id'];
           mysqli_query($dbcon,"update borrowdetails set fines='$fines' where borrow_details_id = '$fi'");
       }



   }

   $newquery = mysqli_query($dbcon,"select fines from borrowdetails where borrow_details_id = '$fi'");
   $row = mysqli_fetch_assoc($newquery);
   echo $row['fines'];

答案 1 :(得分:0)

您应该计算工作天数,然后计算罚款。

$returnDate= new DateTime( '2017-08-17' );
    $today= new DateTime( '2017-08-21 00:23:44' );

    $returnDate->setTime(0,0);
    $today->setTime(0,0);

    $interval = DateInterval::createFromDateString('1 day');
    $period = new DatePeriod($returnDate, $interval, $today);

$weekendDays = 0;
$totalDays = 0;
foreach ( $period as $p ) {
    $totalDays++;
  if($p->format( "w" )==0 or $p->format( "w" )==6) $weekendDays++; //6 - saturday, 0 - sunday
}

echo "<p>Total  days: $totalDays</p><p>Weekend days: $weekendDays </p>";
  $fines = ($totalDays - $weekendDays) * 15;
  echo "₱ ". $fines;
  $fi = $row['borrow_details_id'];
  mysqli_query($dbcon,"update borrowdetails set fines='$fines' where borrow_details_id = '$fi'");