php每30天计算一次滞纳金

php每30天计算一次滞纳金,php,Php,好的,我想知道如何每30天从我的数据库中增加1.5%的总数。如果我今天的余额是600美元,而我在30天内还没有支付,那么会增加1.5%,但如果我在60天内没有支付,那么在前30天的滞纳金基础上会增加1.5%。这是我所拥有的 如果在编程中每次($invoicedate都认为需要以某种方式重复变量,那么真正需要做的就是使用循环 假设$invoicedate是一个时间戳,也假设您希望按月收费,而不是在30天后: $lateMonths = 1; $late = $total; while ($invo

好的,我想知道如何每30天从我的数据库中增加1.5%的总数。如果我今天的余额是600美元,而我在30天内还没有支付,那么会增加1.5%,但如果我在60天内没有支付,那么在前30天的滞纳金基础上会增加1.5%。这是我所拥有的


如果在编程中每次($invoicedate都认为需要以某种方式重复变量,那么真正需要做的就是使用循环

假设$invoicedate是一个时间戳,也假设您希望按月收费,而不是在30天后:

$lateMonths = 1;
$late = $total;
while ($invoicedate <= strtotime(date('Y-m-d') . ' - '.$lateMonths . 'month')){
    $late = 101.5 * $late;
}
$lateMonths=1;
$late=$total;

而($invoicedate你能试试这个吗

 $invoicedate = strtotime("2013/09/01");
 $TodayDate = strtotime('today');

 $timeDiff = abs($TodayDate - $invoicedate);

 $numberDays = $timeDiff/86400;  // 86400 seconds in one day

 $numberDays = intval($numberDays);

 $noOfdaysToCheck ="30";

 $total ="1000";

 if ($numberDays >= $noOfdaysToCheck){$late = (1.5 / 100) * $total; }
每30天费用计算:请更新我,这是你期望的吗

       $invoicedate = strtotime("2013/07/01");
       $TodayDate = strtotime('today');

       $timeDiff = abs($TodayDate - $invoicedate);

       $numberDays = $timeDiff/86400;  // 86400 seconds in one day

       $numberDays = intval($numberDays);

       $noOfdaysToCheck ="30";

       $Fees ="600";

       if ($numberDays >= $noOfdaysToCheck){

              $Interval = $numberDays%$noOfdaysToCheck;

              for($i=1;$i<=$Interval;$i++){
                     $late = (1.5 / 100) * $Fees;
                     $Fees =  FeesCalc($Fees);

               }
        }

       $Fees = number_format($Fees, 2, '.', '');
       echo $Fees;

       function FeesCalc($Fees){
            $late = (1.5 / 100) * $Fees;
            return $TotalFees = $late+$Fees;

       }
$invoicedate=strottime(“2013/07/01”);
$TodayDate=strottime(“今天”);
$timeDiff=abs($TodayDate-$invoicedate);
$numberDays=$timeDiff/86400;//86400秒一天
$numberDays=intval($numberDays);
$noOfdaysToCheck=“30”;
$Fees=“600”;
如果($numberDays>=$noOfdaysToCheck){
$Interval=$numberDays%$noOfdaysToCheck;

对于($i=1;$ithanks,但这只是检查是否超过30天,我需要它每30天做1.5%。因此,30天后600美元是9美元,现在我需要它在60天后在609美元上再做1.5%,这意味着$fees的金额,除非我将发票日期设置为2013/11/01,那么$fees会给我609美元,而不是600美元,因为它不是30天,我需要它t仅为1天。如果我将它设置为2013/10/01,那么它应该为我提供30天的金额,但它为我提供60天的金额。更新了条件,请现在检查。这完全正确,非常感谢。一旦我看到这样的情况,这是有意义的。感谢您的指导。@KrishR ok,似乎是合乎逻辑的。每次我运行您上面的内容时,它都是正确的只是出于某些原因暂停了网站。$invoicedate=20131001可能是因为某些原因,$invoicedate>time(),这个片段只是挂起了网页。以下是我使用的内容…while($invoicedate>time().-“.$LateMonters.”month“)