获取活动的轮回开始截止时间(几天一次活动,不处理一天一次)

it2025-02-26  17

思路:

  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,];

转载于:https://www.cnblogs.com/aifengguo/p/7722620.html

相关资源:数据结构—成绩单生成器
最新回复(0)