加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP.如何获得双月重复活动?

发布时间:2020-12-13 22:38:53 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试很多方法,但后来我被卡住了一半. 假设今天创建了订单.我需要显示下一个定期订单何时发生.所以我在2012年6月13日创建了订单.然后我将时间表设置为双月重复订单,每月1日.如何计算下一次重复订单何时发生?答案是8月1日. 如果某人可以概述一种方法,那
我正在尝试很多方法,但后来我被卡住了一半.

假设今天创建了订单.我需要显示下一个定期订单何时发生.所以我在2012年6月13日创建了订单.然后我将时间表设置为双月重复订单,每月1日.如何计算下一次重复订单何时发生?答案是8月1日.

如果某人可以概述一种方法,那将非常有用,它不一定是代码.这就是我到目前为止……

// first,get starting date
    $start_date_month = date('m',strtotime($start_date));

    // get this year
    $this_year = date('Y');

    // if this month is december,next month is january
    $this_month = date('m',$timestamp_month);
    if($this_month == 12){
      $next_month = 1;
    // if this month is not december add 1 to get next month
    }else{
      $next_month = $this_month + 1;
    }

    // get array of months where recurring orders will happen
    $months = array();
    for ($i=1; $i<=6; $i++) {
      $add_month = $start_date_month+(2*$i); // 2,4,6,8,10,12
      if($add_month == 13){$add_month = 1;$year = $this_year+1;}
      elseif($add_month == 14){$add_month = 2;$year = $this_year+1;}
      elseif($add_month == 15){$add_month = 3;$year = $this_year+1;}
      elseif($add_month == 16){$add_month = 4;$year = $this_year+1;}
      elseif($add_month == 17){$add_month = 5;$year = $this_year+1;}
      elseif($add_month == 18){$add_month = 6;$year = $this_year+1;}
      elseif($add_month == 19){$add_month = 7;$year = $this_year+1;}
      elseif($add_month == 20){$add_month = 8;$year = $this_year+1;}
      else{$year = $this_year;}
      echo $what_day.'-'.$add_month.'-'.$year.'<br />';
      $months[] = $add_month;
    }

    echo '<pre>';
    print_r($months);
    echo '</pre>';

我不想简单地找到从现在起两个月内的日期.假设订单是在6月1日创建的.下一个重复订单是8月1日.然后现在说,今天是9月1日,但下一个定期订单是10月1日.看到我的困境?

只需要当前月份,所以从6月开始,我们得到6. 6 mod 2 == 0.下个月是7月,我们得到7. 7 mod 2 == 1.

因此,只需检查当前月份%2 ==(第一个月%2).

然后检查它是否是本月的第1天.

在PHP中,模数用百分比符号定义.

$month = date('n');
$createdMonth = 6;
if($month % 2 == $createdMonth % 2){
    // stuff
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读