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,
    ];
  • 相关阅读:
    汉诺塔略写
    第六章实验报告
    第三次实验报告
    第五章 循环结构反思
    第二次实验报告
    第一次实验报告x
    第九章 结构体与共用体
    第八次实验报告
    第7章 数组实验
    第六章 函数和宏定义实验(2)
  • 原文地址:https://www.cnblogs.com/aifengguo/p/7722620.html
Copyright © 2011-2022 走看看