之前做了一个项目做抽奖的,里面有个需求,每个用户每个自然周能抽中一次指定产品。
自然周指的是:从周一到周日算作一个自然周。
但是作为PHP中的lower,还是能力捉急,只好百度
还挺多的嘛!想也不想先进去第一个看看,哎,找到了,找到了、
我看到了上周起始时间都是减7,那就是说不减7就是本周时间咯,机智如我,真是轻轻松松。
就这样,这个计算自然周的时间代码没有被测试到就放到线上使用了,导致奖品在每周日都会重复发放,应为抽奖的人很多,过了一个月才被发觉。
错误的实现代码:
$strat_week = mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"));
$end_week = mktime(23,59,59,date("m