zoukankan      html  css  js  c++  java
  • 获取活动的轮回开始截止时间(几天一次活动,不处理一天一次)

    思路:

      1.找出当前时间与活动开始时间的相差天数

        取两个时间的相差天数,网上大部分是两个时间相减除以86400。

        如果是小时不一样可能得到的值不一样,就无法知道向上取整还是向下取整;

        可以获取今天与活动的开始时间相同的小时,本人没用;

        本人的思路是获取两个差值的小时数,然后换算的天

      2.相差的天数取模活动限制的天数(几天一次的几天)

        如果等于0,当前轮回的开始时间就是今天

        不等于0,就用当前时间往前推余数的天数

      3.有了开始时间,结束时间就不用说了。

    贴代码:

      

     @param $activity_time        活动开始时间
    @param $limit_number    几天一次
    $current_time = time();
    $reduce = ceil(($current_time - $activity_time)/3600/24); // 活动开始时间与当前时间相差的天数
    $modulo = $reduce % $limit_number;
    $start_date = $modulo == 0 ? date('Ymd') : date('Ymd', strtotime('-' . $modulo . ' day', $current_time));
    $end_date = date('Ymd', strtotime('+' . $limit_number - 1 . ' day', strtotime($start_date)));
    return [
    'start_date' => $start_date,
    'end_date' => $end_date,
    ];
  • 相关阅读:
    php中的多态
    面向对象的继承与组合
    PHP中的__call和__callStatic方法
    PHP中的__set和__get方法
    PHP中对象的本质
    mysql字符串查找(统计客源)
    linux查看文件大小
    mysql常用字符串操作函数大全,以及实例
    mysql滑动订单问题
    mysql列反转Pivoting
  • 原文地址:https://www.cnblogs.com/aifengguo/p/7722620.html
Copyright © 2011-2022 走看看