if(checkdate($yourmonth,"31",$year))
echo "这个月有31天;
elseif(checkdate($yourmonth,"30",$year))
echo "30";
elseif(checkdate($yourmonth,"29",$year))
echo "29";

解决方案 »

  1.   

    mktime(int hour, int minute, int second, int month, int day, int year)函数
    如:mktime(0,0,0,10,1,2003) - mktime(0,0,0,11,1,2003)
    求得本年10月天数
      

  2.   

    方法比较笨 if(myyear%400==0 ||(myyear%100!=0 && myyear%4==0))
    {
    if(mymonth==2)
    {
    alert("本月最大为29号!");
    return false;
    }

    if((mymonth==4 || mymonth==6 || mymonth==9 || mymonth==11))
    {
    alert("本年月最大为30号!");
    return false;
    }
    else
    {
    alert("本年月最大为31号!");
    return false;
    }
    }
    else
    {
    if(mymonth==2)
    {
    alert("本月最大为28号!");
    return false;
    }

    if((mymonth==4 || mymonth==6 || mymonth==9 || mymonth==11))
    {
    alert("本年月最大为30号!");
    return false;
    }
    else
    {
    alert("本年月最大为31号!");
    return false;
    }
    }
      

  3.   

    真有你们的!现成的为什么不用?
    echo date("t");
      

  4.   

    if(checkdate($yourmonth,"31",$year))
    echo "这个月有31天;
    elseif(checkdate($yourmonth,"30",$year))
    echo "30";
    elseif(checkdate($yourmonth,"29",$year))
    echo "29";这种方法,我试了一下,确实可以,但有一点我搞不明白
    手册上面说的是checkdate
    验证日期的正确性。语法: int checkdate(int month, int day, int year);传回值: 整数我上面所说的是用的是字符
      

  5.   

    没有影响,php会自己转换成需要的类型
      

  6.   

    //2003年10月
    echo date("t",mktime(0,0,0,10,1,2003));
    //2003年11月
    echo date("t",mktime(0,0,0,11,1,2003));
      

  7.   

    呵呵,看到四种解法。
    mktime(0,0,0,10,1,2003) - mktime(0,0,0,11,1,2003)
    返回的是秒数。
      

  8.   

    get_A_month_day(7);function get_A_month_day($month){
    $current_month = mktime(0,0,0,$month  ,1,date("Y"));
    $next_month    = mktime(0,0,0,$month+1,1,date("Y"));
    $a_month_day = ($next_month-$current_month)/(3600*24);
    echo $a_month_day;
    }
      

  9.   

    不好意思,没想到有这么多热心人士,我都不知道怎么给分,呵呵:)凡参与的,只能1分,剩余的都打算给xuzuning(唠叨),呵呵,希望各位见谅,偶学东西了,呵呵:)
      

  10.   

    晕死,严重支持简单就是好date("t")