我想判斷一個 TextBox1 的值是否是合法的日期格式,是的話轉換為:2006/06/08 這種格式,請問咱做???

解决方案 »

  1.   

    为什么不用DateTimePicker控件?
      

  2.   

    日期格式有很多种的,而且不同国家/不同地区的用法都有可能不一样,比如荷兰的格式是dd/mm/yyyy,而英国的格式可能是mm/dd/yyyy,那如果你用textbox的话,就有可能会出现混乱。
    建议使用datetimepicker,或者你给textbox的输入规定一种格式来输入。这样也可以。
      

  3.   

    try
    {
    DateTime.Parse(TextBox1.Text);
    }
    catch
    {
    // 转化
    }
      

  4.   

    //判断字符串是否符合日期格式
    using System.Text.RegularExpressions;public static bool ValidateDataTime(string InputStr)
    {
    if( InputStr != "" )
    {
    if (Regex.IsMatch(InputStr.Trim(' '),@"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$"))
    return true ;
    else
    return false ;
    }
    return false ;
    }
    private void button1_Click(object sender, System.EventArgs e)
    {
    if(ValidateDataTime(textBox1.Text)==true)
    {
    DateTime date=Convert.ToDateTime(textBox1.Text);//"")
    MessageBox.Show(date.ToString().Replace("-","/"));
    }
    }