SQL-сервер DateTime и C # DateTime

На моем сервере SQL у меня есть очень простая таблица для тестирования, которая содержит только три строки: ID, Date а такжеHours.(varchar, DateTime, varchar).

Формат DateTime в SQL выглядит так:yyyy-MM-dd HH:mm:ss.fff.

Формат DateTime в C # выглядит так:yyyy-dd-MM HH:mm:ss.fff.

Я использую следующий код для получения формата C # DateTime:

 string ddd = "2012-10-10 00:00:00.000";
 dt1 = DateTime.ParseExact(ddd, "yyyy-MM-dd HH:mm:ss.fff", null);

Если я попытаюсь сделать это вyyyy-dd-MM Я получаю ошибку:

The DateTime, which is represented by the string, isn't supported by the calender.

В моем приложении C # я пытаюсь найти общее количество часов между датами Sunder. Я вроде получил его на работу, но он работает только для дат между 01 и 12.

Так как из2012-01-10 в2012-10-10 (десять дней) даст мне правильное количество часов из базы данных.

Но когда я пишу2012-01-10 в2012-14-10 (четырнадцать дней) я получаю сообщение об ошибке:

The conversion of a char data type to a datetime data type resulted in an out-of-range"

Заранее спасибо.

PS. Можете ли вы предложить более простой способ получить даты?

MySQL запрос

string CommandText = "SELECT * FROM date_test WHERE id = '4' AND date BETWEEN '" + dt1 + "' AND '" + dt2 + "'";

Я понял проблему, но не решение.

Проблема в том, что база данных SQL смотрит на формат и хочет yyyy-MM-dd, но C # может отправлять только yyyy-dd-MM.

Почему не можешьParseExact() делать гггг-мм-дд?

Ответы на вопрос(2)

Ваш ответ на вопрос