PHP - 如何在特定时间每周迭代减少一个变量?

时间:2016-08-24 18:11:22

标签: php

任何人都可以提供有关如何每周减少一定金额的建议,比如当地时间星期日午夜(我和服务器都不在当地时区)吗?

例如,显示的值可能是1000,我需要它在每个星期日午夜从午夜每周减少100(因此在第2周显示的值是900,800之后的一周等等)。

任何人都可以就如何进行提出任何建议吗?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

$amtToReduce = 100;
$todaysDate = new DateTime("now");
$startDate = new DateTime("2016-08-21"); //Sunday's date
$getDiff = $startDate->diff($todaysDate);
$numDays = (int)$getDiff->days; //returns number of days between two dates
$productPrc = $actualPrice = 1000;
if($numDays%7==0) { //condition to allow only sundays
   $toInc = $numDays/7;
   $toReduce = $toInc*$amtToReduce;
   $productPrc = $actualPrice-$toReduce;
   //alter any condition here, to stop incrementing reducing price
}

echo $producPrc; //prints 100 RS less on each incrementing week end

检查上面的代码,希望这可能会有所帮助。

无法在移动设备上格式化我的代码,希望有人能够编辑和格式化它,当然可以理解。

答案 1 :(得分:0)

感谢您的帮助ameenulla0007 - 您给了我足够的信息(您的代码唯一的问题是它只在星期天工作 - 这是我没有正确解释它的错误(正如有人低估我的第一个问题所强调的那样) - 坚韧的人群!))。这就是我最终做的事情:

$amtToReduce = 100;
$todaysDate = new DateTime("now");
$startDate = new DateTime("2016-08-21"); 
$getDiff = $startDate->diff($todaysDate);
$numDays = (int)$getDiff->days; 
$productPrc = $actualPrice = 1000;
$discountFactor = floor($numDays/7);
$toReduce = $discountFactor*$amtToReduce;
$productPrc = $actualPrice-$toReduce;
echo $productPrc; 

之后它完美无缺。再次感谢 - 非常感谢!