20,398
社区成员




/*
* 参数:
* $d1------最新时间
* $d2------以前的时间
* 返回值:
* 1-----连续登陆。时间相差1天。
* 2-----没有连续登陆,时间相差最少2天以上
* 3-----天数相同。
* 0-----参数传递错误。
*/
function Day_Diff($d1,$d2)
{
$d2_array=explode('-', $d2);
$d1_array=explode('-', $d1);
$d1_Y=$d1_array[0];
$d1_M=$d1_array[1];
$d1_D=$d1_array[2];
$d2_Y=$d2_array[0];
$d2_M=$d2_array[1];
$d2_D=$d2_array[2];
if($d1_Y-$d2_Y==1)
{
if($d2_M<$d1_M)
{
return 2;
}
else if($d2_M>=$d1_M)
{
if(($d1_M+12)-$d2_M==1)
{
$temp=gettheday($d2);
$temp=explode('-', $temp[1]);
$temp=$temp[2]; //得到该月的最后一天
$temp=($temp-$d2_D)+$d1_D; //用最后一天减去当前时间的天数加上新时间的天数
if($temp==1)
{
return 1;
}
else
{
return 2;
}
}
else
{
return 2;
}
}
else
{
return 0;
}
}
else if($d2_Y==$d1_Y)
{
if($d2_M<$d1_M)
{
$temp = strtotime("-1 month", $d1);
$temp=date("t", $temp);
$temp=($temp-$d2_D)+$d1_D;
if($temp==1)
{
return 1;
}
else
{
return 2;
}
}
else if($d2_M==$d1_M)
{
if($d1_D-$d2_D==1)
{
return 1;
}
else if($d1_D-$d2_D==0)
{
return 3;
}
else
{
return 2;
}
}
else
{
return 0;
}
}
else
{
return 2;
}
}
/*
*参数:
* $date--------获取一个月的第一天和最后一天。
* 返回值:
* Array类型,第一个是月第一天,第二个是月最后一天。
*/
function gettheday($date)
{
$firstday = date("Y-m-01",strtotime($date));
$lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
$start= strtotime('2010-12-31');
$end= strtotime('2011-1-1');
echo ($end-$start) / (3600 * 24) ;