It's because of the way you put it into the database. You have (deliberately or accidentally) converted it from a DateTime to a string: probably by saying something like:
SqlCommand com = new SqlCommand("INSERT INTO myTable (date) VALUES ('" + myDateTime + "')", con);
Unfortunatley, SQL expects data strings in ISO format: "yyyy/MM/dd hh:mm:ss" which your locale does not do by default.
The best solution is to use parametrized queries instead:
SqlCommand com = new SqlCommand("INSERT INTO myTable (date) VALUES (@DT)", con);
com.Parameters.AddWithValue("@DT", myDateTime);
This has the additional advantage of not being prone to SQL Injection attacks, and is worth doing for all database access.