各位高手,麻烦帮我看一下下面这个问题该怎样解决啊?
 在用户注册页面填入出身日期(形如XXXX-XX-XX),然后在后台判断年龄是否大于18岁.
 我设想分别取data函数的年,月,日三个元素,来和用户输入的日期相比较.可是若用户输入形如:1989-12-20的日期,那该怎样比较呢?(因为今天是2007-12-16,用户输入的日期还差几天才到18岁)

解决方案 »

  1.   

    if (strtotime('1989-12-20') - strtotime('-18 year') < 0)
    {
      可以注册
    }
      

  2.   

    全部转换成Unix时间戳,然后比较时间戳
      

  3.   

            string str = "1989-12-19";
            DateTime inputTime = Convert.ToDateTime ( str );
            DateTime now = DateTime.Now;
            if ( now.Year - inputTime.Year > 18 )
            {
                Response.Write ( ">=18" );
            }
            else if ( now.Year - inputTime.Year == 18 )
            {
                if ( now.Month > inputTime.Month )
                {
                    Response.Write ( ">=18" );
                }
                else if ( now.Month == inputTime.Month )
                {
                    if ( now.Day >= inputTime.Day )
                    {
                        Response.Write ( ">=18" );
                    }
                    else
                    {
                        Response.Write ( "<18" );
                    }
                }
                else
                {
                    Response.Write ( "<18" );
                }
            }
            else
            {
                Response.Write ( "<18" );
            }
      

  4.   

    if   (strtotime(date("Y-m-d"))   -   strtotime('-18   year')   <   0) 

        可以注册 
    }