循环2个日期并执行每12天,2天,12天,2天等条件

时间:2016-06-29 09:28:53

标签: php algorithm datetime

我想在2个日期之间的循环中执行条件。

这是我的代码:

 for($i = $periodStartAt; $periodStartAt <= $endAt; $i->modify('+1 day')){

   // when it's 12 days

   // when it's 2 days (after the 12 days)

   // when it's 12 days (after the 2 days)

   // etc.....

   }

任何人都可以使用此算法吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以将视为14天,可以分为两个子期 - 第一天为12天,第二天为2天。

因此,循环的每一步都可以处理14天:

$periodStartAt = 0;
while(true) {
    $periodStartAt += 12; // first sub-period
    if ($periodStartAt > $endAt) break;
    //do something when first sub-period reached

    $periodStartAt += 2; //second sub-period 
    if ($periodStartAt > $endAt) break;
    //do something when second sub-period reached
}