$time = array('2011-10-25','2011-10-27','2011-11-01');等等,如何判断时间是否是连续的?
------解决方案--------------------
strtotime('2011-10-25');后判断。
------解决方案--------------------
mktime() strtotime date 这三个函数就可以做到 自己研究去吧
------解决方案--------------------
相邻2个转换成时间戳相减是否为一天的时间戳(如果一天算连续的话)
------解决方案--------------------
整个数组时间连续还是部分连续?
整个数组连续的:
- PHP code
<?php
$arr = array('2011-10-25','2011-10-27','2011-10-26','2011-10-24');
function compare($x,$y){
return (strtotime($x)-strtotime($y));
}
uasort($arr,'compare');
$arr = array_slice($arr,0);
for($i = 1;$i<count($arr);$i++){
if((strtotime($arr[$i])-strtotime($arr[0]))==($i*24*60*60)){
$flag = 1;
}
else{
$flag = 0;
break;
}
}
echo $flag?"连续":"不连续";
------解决方案--------------------
刚才在另一个帖子 贴出了我的方法
是以时间递增一天算得:
- PHP code
$a = array('2011-10-30','2011-10-31','2011-11-01');
$flag = true;
for($i=0;$i<count($a)-1;$i++){
$nextDay = date("Y-m-d",strtotime("+1 day",strtotime($a[$i])));
if($a[$i+1]!=$nextDay){
$flag = false;
break;
}
}
if($flag==true){
echo "时间连续";
}else{
echo "时间不连续";
}