我想按功能删除三个日期之间的一个日期

时间:2014-04-07 14:47:27

标签: php wordpress

function get_date_diff1($from,$to,$remove_dates,$check=0){
 $cDays = dateDiff($from,$to);
 $tmp=$from;
 $i=0;$o=0;$p=0;
 while($i<$cDays){
  if(in_array($tmp,$remove_dates)){
  $p=$p+1;
  }
  $tmp=strtotime($tmp)+(($i>0)?86400:0);
  $twd  =  strtolower(date("l",$tmp));
  if($twd=='sunday' || $twd=='saturday') $o=$o+1;
  $tmp = date("Y-m-d",$tmp);
  $i=$i+1;
 }
   if($check==0){
 return abs($cDays-$o-$p);
   }else{
    return abs($cDays-$p);
   }
}
echo get_date_diff1("14 April, 2014","16 April, 2014",array('14 April, 2014'));

对不起我的语法错误。我想创建一个函数,它删除三个日期之间的FROM或TO日期,并给出截止日期的结果。在此功能中,当我删除2014年4月14日,然后功能工作正常并给出截止日期(结果= 2(我想要的))但是当我删除2014年4月15日然后功能给出三个截止日期(结果= 3) )虽然功能应该返回两个日期(结果= 2)有人可以帮助我,我错了吗?在此先感谢

1 个答案:

答案 0 :(得分:1)

您传递的日期为14 April, 2014格式,对应于date()格式代码d F, Y。然后,您在代码中以Y-m-d格式在内部构建日期。这意味着您的in_array()电话正在尝试

if ('14 April, 2014' == '2014-04-14`) { ... }

这绝不是真的。你和我知道他们的日期是一样的。 PHP不知道他们是约会对象。它们只是字符串,而字符串则不相同。