代码如下:

/**
* 统计连续签到天数以及累计签到天数
* @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计算连续签到天数以及累计签到天数的更多相关文章

  1. mysql计算连续天数,mysql连续登录天数,连续天数统计

    mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...

  2. Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计 >>>>>>>>>>>>>>>>> ...

  3. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  4. 计算连续的IP地址

    题目:要求计算连续的IP地址. 举例:起始IP为192.168.2.2,IP总个数为3,那么要求得的所有IP的为192.168.2.2,192.168.2.3,192.168.2.4.再举个例子,起始 ...

  5. java计算两个日期之间相隔的天数

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. Java计算两个字符串日期之间的天数差

    Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = ...

  7. 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss

    /** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...

  8. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  9. 大数据学习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 ...

随机推荐

  1. Linux环境下Flask部署至apache

    https://blog.csdn.net/rainbowlemonade/article/details/79725328

  2. php获取指定日期,前一天、前一周、前一个月、前一年,后一天,后一周,前一个月,前一年

    dump( date( 'Y-m-d', strtotime('2018-10-1 +1 day') ) ); dump( date( 'Y-m-d', strtotime('2018-10-1 +1 ...

  3. HTML常用的特殊符号&前端使用的标点符号

    不想在项目中使用图片, 还得切,如关闭按钮“×”.男女符号“♂♀”.对勾“√”等,找到了一篇全面的博客,转自https://www.haorooms.com/post/html_tsfh,感谢. 如下 ...

  4. bootstrap-datepicker简单使用

    粗略整理,可能存在其他的方式请大家多多指教 选择年份 html <div class="dropdown"> <label class="search- ...

  5. 2019浙大校赛--J--Extended Twin Composite Number(毒瘤水题)

    毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题. 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一 ...

  6. <笔记>三码合一

    讲求三码合一,何为三码合一?(这里我用UTF8讲例子) 就是页面编码,文档编码,数据库编码要统一一种格式,切记不可有的是GBK,有的是UFT8 页面编码:也就是用header 函数申明:header( ...

  7. Django积木块九——富文本编辑器

    富文本编辑器 前端和后端都可以用富文本编辑器 # pip install django-tinymce # setting 'tinymce' TINYMCE_DEFAULT_CONFIG = { ' ...

  8. easyui的下拉框combox动态复赋值显示在前端

    editbale:false设置为本输入框禁止编辑

  9. NSInvalidArgumentException这个到底是什么意思,我到网上查了下,每个的错误都不同。

    我几乎把所有的东西都注释了,但还是崩了 #import "ViewController.h" //#import "WeiBo.h" @interface Vi ...

  10. Python 基础整理(未完)

    数据类型和变量: 整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六 ...