$time_0 = strtotime(date('Y-m-d')) ; //今天零点的时间
$login_time = M('users')->field('last_login')->where('user_id',$user_id)->find(); //上次登录时间
$login_time = $login_time['last_login'];
$result = $login_time-$time_0;
if($result<0){ //今天未签到
return 1;
}else{
return 0;
}
获取当天零点的时间,每次签到都记录签到时间,如果签到时间大于当天0点时间,则已经签到,再次点击不执行
不是以每天零点来分隔 的,如第五6点之后算今天 ,6点之前算昨天
public function times(){ //本人每天点1次,下一次在明天6点后可以再点
$time_6 = strtotime(date('Y-m-d'))+21600; //今天6点的时间
$time = time();
//$user_info = M('activity_51')->field('click_time')->where('user_id',$user_id)->find();
$click_time = 1525100553; //上次领取时间
if($time<$time_6){ //6点前
if($time_6-$click_time<86400){ //上次点击距离今天6点不中24小时,
$result = 0; //已经点过
}else{
$result = 1;
}
}else{ //6点后
if($click_time-$time_6>0){ //上次点击时间在早上6点之前,可以再次点
$result = 2; //已经点过
}else{
$result = 3;
}
}
if($result==1){ //今天首次翻牌
//$res = Db::name('activity_51')->where('user_id',$user_id)->update(['click_time'=>time()]);
return $result;
}else{ //已经点过
return $result;
}
}