2011-2-22到2011-5-10
一共多少天?
有几个星期1?
每个月的3号出现几次?
要怎么计算啊?

解决方案 »

  1.   

    1 相差天数$startDate=strtotime("2011-2-22");
    $endDate=strtotime("2011-5-10"); $days=($enddate-$startdate)/3600/24 ;2 有几个礼拜一
    把$days除以7得到整数$weeks和余数$tmp  
    然后判断起始日 如果是礼拜一 则$weeks+1等于有几个星期1
    如果有余数 则起始日+余数得到的日期若是礼拜一 则$weeks+1等于有几个星期13 每个月的3号出现几次
    $date1 = explode('-',$endDate);
    $date2 = explode('-',$startDate);
    $counte3 = ($date1[0] - $date2[0]) * 12 + abs($date1[1] - $date2[1]);
    接着判断起始日和结束日
    若起始日在3号之前 结束日在3号之后,$counte3++
    若起始日在3号之前 结束日在3号之前,$counte3
    若起始日在3号之后 结束日在3号之后,$counte3
    若起始日在3号之后 结束日在3号之前,$counte3--
      

  2.   

    本帖最后由 xuzuning 于 2011-07-05 11:02:03 编辑