SQL Server DateTime e C # DateTime

No meu servidor SQL, tenho uma tabela muito simples para teste, que contém apenas três linhas:ID, Date eHours.varchar, DateTime, varchar).

O formato DateTime no SQL é como:yyyy-MM-dd HH:mm:ss.fff.

O formato DateTime em C # é como:yyyy-dd-MM HH:mm:ss.fff.

Eu uso o seguinte código para obter o formato C # DateTime:

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

Se eu tentar entraryyyy-dd-MM Eu recebo um erro:

O DateTime, representado pela string, não é suportado pelo calendário.

No meu aplicativo c # estou tentando encontrar quantidade total de horas entre as datas do sunder. Eu meio que consegui trabalhar, mas só funciona para datas entre 01 e 12.

Então, como de2012-01-10 para2012-10-10 (dez dias) me dará a quantidade correta de horas totais do banco de dados.

Mas quando eu escrevo2012-01-10 para2012-14-10 (quatorze dias) recebo um erro:

A conversão de um tipo de dados char em um tipo de dados datetime resultou em um "fora do intervalo"

Agradeço antecipadamente.

PS. Você pode sugerir uma maneira mais fácil de obter datas?

consulta mySQL

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

Eu descobri o problema, mas não a solução.

O problema é que o banco de dados SQL examina o formato e deseja aaaa-MM-dd, mas o C # só pode enviar aaaa-dd-MM.

Por que não podeParseExact() fazer yyyy-MM-dd?

questionAnswers(2)

yourAnswerToTheQuestion