我想验证 时间是否合法。该如何做?是则处理不是则抛弃!
byte year = MessData[4 + coeff]; byte month = MessData[5 + coeff];
byte day = MessData[6 + coeff]; byte hour = MessData[7 + coeff];
byte minute = MessData[8 + coeff]; byte second = MessData[9 + coeff];

如何 验证 上面的时间是否合法?
比如 
年月日时分秒
2006 5 32 24 71 70
这是不合法的
就不用进行下面的转换了!
//时间 4-9
gif.AcceptTime = new DateTime((2000 + year),month,day,hour + 8,minute,second);谢谢

解决方案 »

  1.   

    if 月>0 <12 
    if 日>0 <31 
    if 时>0 <23 
    if 分>0 <60 
    if 秒>0 <60
      

  2.   

    用 try catch 判断一下就行了,偷懒的招儿,但是能用,哈            int year = 2006;
                int month = 5;
                int day = 32;
                int hour = 24;
                int minute = 71;
                int second = 70;
                try
                {
                    DateTime aDateTime = new DateTime(year,month,day,hour + 8,minute,second);
                }
                catch
                {
                    return;
                }            // Continue coding.
      

  3.   

    有现成的方法,一定要记得用哦:
    DateTime.TryParse()
      

  4.   

    顶楼上的,这个最方便。如果还是1.1的,那么就用DateTime.Parse(),然后用TRY-CATCH块包围,成功了就TRUE,不然就在CATCH里面设置标志为FALSE。(当然,这个是以牺牲效率为前提的)
      

  5.   

    这里不能用 try
                CATCH
    太满了,而且我这个是在循环里面的 ,只想判断一下 
                 DateTime.Parse()如何用,行么?
      

  6.   

    bool CheckDate(string yourDateString)
    {
    flag = true;
    try
    {
    DateTime aDateTime = DateTime.Parse(yourDateString);
    }
    catch
    {
    flag = false;
    }
    return flag;
    }