PHP计算连续签到天数以及累计签到天数
代码如下:
/**
* 统计连续签到天数以及累计签到天数
* @param string $user_long_id 用户ID
* @return array 一维数组
*/
function sign_count($user_long_id){
//获取上个月最后一天
$endDay = strtotime(date('Y-m-t', strtotime('-1 month')));
// $time = strtotime("2017-11-22 12:00:00");
$cur_day = date('Ymd',time());
$sql = "select sign_time from bzf_sign_info where user_long_id = '$user_long_id' and sign_score = 1 and sign_time > $endDay order by sign_time desc";
$arr = $this->doquery_rows($sql); $add_count_days = ;//连续签到天数
$count = ; //累计签到天数
$day_list = [];
if (!empty($arr)){
foreach ($arr as $k=>$v){
$day_list[] = $v['sign_time'];
}
$count = count($day_list); //累计签到天数
}
if($cur_day - > date("Ymd",$day_list[])){
return array('add_days'=>$add_count_days,'total_day'=>$count);
} else {
$add_count_days = ;//连续签到天数
}
for($i = ;$i < $count - ;$i++){
$res = $this->compareDay(date("Ymd",$day_list[$i]),date("Ymd",$day_list[$i+]));
if($res) $add_count_days++;
else break;
}
return array('add_days'=>$add_count_days,'total_day'=>$count);
} /**
* 比较当天签到天数与上一次签到时间
* @param string $curDay 当天签到天数
* @param string $nextDay 上一次签到天数
* @return boolean
*/
function compareDay($curDay,$nextDay)
{
if($curDay - == $nextDay){
return true;
}else{
return false;
}
}
以上就是这次的全部内容!
PHP计算连续签到天数以及累计签到天数的更多相关文章
- mysql计算连续天数,mysql连续登录天数,连续天数统计
mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...
- Oracle计算连续天数,计算连续时间,Oracle连续天数统计
Oracle计算连续天数,计算连续时间,Oracle连续天数统计 >>>>>>>>>>>>>>>>> ...
- js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数
js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
- 计算连续的IP地址
题目:要求计算连续的IP地址. 举例:起始IP为192.168.2.2,IP总个数为3,那么要求得的所有IP的为192.168.2.2,192.168.2.3,192.168.2.4.再举个例子,起始 ...
- java计算两个日期之间相隔的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- Java计算两个字符串日期之间的天数差
Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = ...
- 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss
/** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...
- MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...
- 大数据学习day25------spark08-----1. 读取数据库的形式创建DataFrame 2. Parquet格式的数据源 3. Orc格式的数据源 4.spark_sql整合hive 5.在IDEA中编写spark程序(用来操作hive) 6. SQL风格和DSL风格以及RDD的形式计算连续登陆三天的用户
1. 读取数据库的形式创建DataFrame DataFrameFromJDBC object DataFrameFromJDBC { def main(args: Array[String]): U ...
随机推荐
- Atom使用
cmd-r 通过方法名查找 ctrl-option-g 跳转至光标所在方法或结构 安装 last-cursor-position 后 alt-- 返回至光标上一次所在位置
- jq无法获取ng-repeat元素,如何控制ng-repeat元素显示与隐藏?
之前都是在做微信小程序的页面,最近做一些html页面,页面也没什么效果,就弄了几个点击事件,控制一些元素的显示与隐藏.后面用angular来写这些页面,然后就遇到了问题,就是用ng-repeat生成的 ...
- Transform(变换)—Y轴lable内容旋转
<!DOCTYPE html> <html> <head> <style> div{ border:1px solid; } .bb{ position ...
- django中views中方法的request参数
知其然亦要知其所以然 views每个方法的参数都是request,那么问题来了,request为何物? 首先,几乎每个方法都是取数据(无论是从数据库,还是从第三方接口),然后进行一定的处理,之后传给前 ...
- 《Linux就该这么学》第十四天课程
samba服务的配置文件解读 samba服务解决了Linux系统与Windows系统之间的文件共享问题,是一个非常不错的服务 原创地址:https://www.linuxprobe.com/chapt ...
- C语言函数指针与 c#委托和事件对比
C语言: 函数指针可以节省部分代码量,写类似具有多态的函数,比如要比较最大值,如果不用函数指针就只能写比较某一类型比如int类型的max函数,这个max无法比较string的大小.函数指针的意义就不多 ...
- idea类里面编译报错,快速定位快捷键设置
settings---->keyMap------->Main menu----------->在搜索框里输入error,找到Next Highlighted Error 和Prev ...
- 反编译看java for-each循环
java 1.5发行版引入的for-each循环.(引自<Effective Java>中文版第二版 第46条) 如以下对数组列表的for-each循环示例: public class F ...
- jdango
1.jdango的下载 命令行: pip install django ==1.11.18 pip install django ==1.11.18 -i https://pypi.douban.co ...
- IDEA添加项目为library
1.如果要作为library的项目没有被IDEA编译就先把项目放在IDEA里面编译一下,因为这样后面导入module会方便一点.下面直接附上步骤 2.假设你已经用IDEA编译好了作为library的项 ...