DateTime.Parse 方法将日期和时间的指定字符串表示转换成其等效的 DateTime。

解决方案 »

  1.   

    可是用DateTime.Parse 的時候,如果字符串不能轉換成DateTime時(如:“464654”,“2004/01/33”),程式就會出錯了,我是想判斷它是不是可以轉換成日期類型。還請指教!
      

  2.   

    用Gettype()我也試過,不過同樣的問題,用Gettype()也是需要先把字符串轉換成日期類型才能用,如果字符串不能轉換成DateTime時(如:“464654”,“2004/01/33”),程式就會出錯了。
      

  3.   

    你可以把DateTime.Parse放在
    try
    {
    DateTime.Parse(dt)  //转换成功,肯定是日期型了
    }
    catch
    {
    //转换不成功,肯定不是日期型了.
    }
      

  4.   

    public bool IsDateTime( string strDateTime)
    {
       bool boolreturn;
    try
    {
    DateTime dt = DateTime.Parse(strDateTime);
    boolreturn = true;
    }
    catch
    {
        bollreturn = false;
    }
       return boolreturn;
    }
      

  5.   

    楼上的比我快using System.Globalization; 可以到处用了
      

  6.   

    用正則表達式判別是否為正確的日期類型
    private bool IsValidDate(string strIn) 
    {
    return Regex.IsMatch(strIn,@"^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$");
    }