C# MySQL返回错误的日期/时间

C# MySQL返回错误的日期/时间,c#,mysql,C#,Mysql,我收到的日期是2014年12月22日凌晨12:00:00,而MySQL数据库中的日期是2014-03-22。有人能告诉我为什么它会返回一个奇怪的日期吗?我假设它与转换零日期时间有关。。但我不能完全肯定 代码: 我的连接字符串: string MyConString = "Server=" + strIP + ";" + "PORT=" + strPort + ";" + "DATABASE=" + strDB +

我收到的日期是2014年12月22日凌晨12:00:00,而MySQL数据库中的日期是2014-03-22。有人能告诉我为什么它会返回一个奇怪的日期吗?我假设它与转换零日期时间有关。。但我不能完全肯定

代码:

我的连接字符串

string MyConString = "Server=" + strIP + ";" +
                     "PORT=" + strPort + ";" +
                     "DATABASE=" + strDB + ";" +
                     "Persist Security Info=no;" +
                     "Convert Zero Datetime=True;" +
                     "username=" + strDBUID + ";" +
                     "password=" + strDBPWD + ";";
var dr = db.readerDB("SELECT `trial_1_end` , `trial_2_end` , `permanent_end` FROM " +
                      DataTable + " WHERE item_name= '"+ strTmpSubscription +
                      "' AND username='" + User + "'AND password='" + Password + "'");
我的查询

string MyConString = "Server=" + strIP + ";" +
                     "PORT=" + strPort + ";" +
                     "DATABASE=" + strDB + ";" +
                     "Persist Security Info=no;" +
                     "Convert Zero Datetime=True;" +
                     "username=" + strDBUID + ";" +
                     "password=" + strDBPWD + ";";
var dr = db.readerDB("SELECT `trial_1_end` , `trial_2_end` , `permanent_end` FROM " +
                      DataTable + " WHERE item_name= '"+ strTmpSubscription +
                      "' AND username='" + User + "'AND password='" + Password + "'");
我的结果(来自
控制台。WriteLine
):

0001年1月31日12:00:00上午
0001年1月31日12:00:00上午
2014年12月22日12:00:00上午

回答:

    DateTime.ParseExact(dr.GetDateTime(0).ToString("dd/MM/yyyy"), "dd/MM/yyyy", null)


展示你是如何将这些日期吸收到c#中的,因为mysql本身不会像那样破坏日期。日期im ISO格式有什么奇怪的?在顶部,C#将格式化线程区域性中的DATE,该线程实际上将DateTIme转换为一个字符串。基本的C#.TomTom-日期时间结构的安排很好。事实上,它给了我33作为一个月是问题。Marc-I为了更清晰而编辑。Prix-dr.GetDateTime(x)返回相同的值。该列为DateTime。这是正确答案。问题出在我的代码上。谢谢你
.ToString
开销较小,您可以轻松自定义输出,除此之外,您的日期字段可能错误或输入不正确。
Console.WriteLine(dr.GetDateTime(0).ToString("dd/MM/yy H:mm:ss"));