请问一下,我想在后台代码中检查一下输入日期是否是“2010-01-01”这样的格式,应该怎样写。
是应该用try catch么?
每个月的天数也不一样,2月可能是28天也可能是29天,3月31天,4月30天。
如果2月的天数输入30,或者4月输入31就会报错。
这种日期应该怎样用代码实现。
初学,不太懂,想好久没有实现,向前辈们请教。谢谢。

解决方案 »

  1.   

    简单就一个try cathc 复杂就自己写一个日期验证类!
      

  2.   

    1。直接用日期控件。
    2。public bool IsDate(string DateString) 

        try 
        { 
            DateTime.Parse(DateString); 
            return true; 
        } 
        catch(Exception e) 
        { 
            return false; 
        } 
      

  3.   

    DateTime date ;
    if(DateTime.TryParseExact("2010-01-01","yyyy-MM-dd",null, System.Globalization.DateTimeStyles.None,out date))
    {
        Response.Write(date.ToShortDateString());
    }
      

  4.   

    输入的是String类型的。。不能用datetime啊。。
      

  5.   

    DateTime.TryParse("2010-02-33",out rlt);
    接收返回值。true就正常,false就是失败。
      

  6.   

    大家给的方法我都试了一遍。。都报错
    如果输入的时候格式不对,传过去的参数就有问题。。
    格式规定是yyyy-mm-dd。如果我输入yyyy-这样的格式,就有问题。。
      

  7.   

    如何将xml中的时间和dateTimePicker比较
    http://topic.csdn.net/u/20100621/07/4d9634dc-e1f3-4018-bc2d-b878d8bb6cc2.html?15032
    这个问题大家随便帮忙解决下,谢谢,都两天了,还没人帮我解决,我急啊。
      

  8.   

            
            int iRet = 0;        string sMatchDate = Request.Form["dateGive"];//获得控件里输入的日历
            if (sMatchDate.Length < 10) ;//这个格式应该是“yyyy-mm-dd”所以是长度是10        //这里应该有个判断,检查输入的日期格式,如果没问题,就进行下一步。        else
            {
                iRet = PetBattle.PetLib.WorldCupBean.doPay(sMatchDate);
                  if (iRet > 0)
                    Response.Write("<script language='javascript'>alert('发放成功!');</script>");
                else
                    Response.Write("<script language='javascript'>alert('发放失败!');</script>");
            }
    这是我还没有判断的代码。。
    如果我输入2010-02-31
      

  9.   

    请问一下,我想在后台代码中检查一下输入日期是否是“2010-01-01”这样的格式,应该怎样写。
    是应该用try catch,
    try
    {
    DateTime dt=Convert.ToDate("string"); //只此一条,这样报错就知道是日期格式不对 了
    }
    catch
    {
    //处理方式
    }
      

  10.   

    正则表达式验证输入的日期
    DateTime result;
                DateTime.TryParseExact(
                    "",
                    "ddd MMM d HH:mm:ss yyyy",
                    new System.Globalization.CultureInfo("en-US"),
                    System.Globalization.DateTimeStyles.None, out result);
    Datetime.TryParse
      

  11.   


    这个对了,不过应该是ToDateTime。不是ToDate。
    谢谢你。