Use the DateTimePicker control, and collect the user input from it's Value property - this hands you a DateTime value which is guaranteed to be valid.
Then use a parameterised query to pass the DateTime value directly to SQL and store it in a DATE Column.
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO myTable (myDateColumn) VALUES (@DT)", con))
{
cmd.Parameters.AddWithValue("@DT", myDateTimePicker.Value);
cmd.ExecuteNonQuery();
}
}