C# 在asp.net C中使用Convert.ToDateTime时发生转换错误#

C# 在asp.net C中使用Convert.ToDateTime时发生转换错误#,c#,asp.net,datetime,C#,Asp.net,Datetime,在此之前,代码工作正常,而程序无法识别日期格式可能是因为不同的cultureInfo。 我正在使用Convert.ToDateTime方法转换DateTime格式 Input.TestDate = Convert.ToDateTime(gvwTest.Rows[i].Cells["TxnDate"].Value).ToString("yyyy-MM-dd HH:mm:ss"); 因此,转换后的MM和dd不正确 从“2020年1月6日”到“2020-01-06 00:00:00” 您可以使用Da

在此之前,代码工作正常,而程序无法识别日期格式可能是因为不同的cultureInfo。 我正在使用Convert.ToDateTime方法转换DateTime格式

Input.TestDate = Convert.ToDateTime(gvwTest.Rows[i].Cells["TxnDate"].Value).ToString("yyyy-MM-dd HH:mm:ss");
因此,转换后的MM和dd不正确

从“2020年1月6日”到“2020-01-06 00:00:00”


您可以使用
DateTime.ParseExact

CultureInfo provider = CultureInfo.InvariantCulture;
var date = DateTime.ParseExact("1/6/2020", "M/d/yyyy", provider);
var dateString = date.ToString("yyyy-MM-dd HH:mm:ss");
输出-2020-01-06 00:00:00


在我的示例中,我使用了2020年6月1日作为输入。

您可以使用
DateTime.ParseExact

CultureInfo provider = CultureInfo.InvariantCulture;
var date = DateTime.ParseExact("1/6/2020", "M/d/yyyy", provider);
var dateString = date.ToString("yyyy-MM-dd HH:mm:ss");
输出-2020-01-06 00:00:00


在我的示例中,我使用了2020年6月1日作为输入。

日期时间。TryParseExact
无疑是更好的方法,正如其他人指出的那样,仍然是
转换。ToDateTime
还提供了一个重载,可以接受区域性信息,以防您想尝试一下

像这样的

Input.TestDate = Convert.ToDateTime(gvwTest.Rows[i].Cells["TxnDate"].Value, CultureInfo.InvariantCulture).ToString("yyyy-MM-dd HH:mm:ss");
或者


正如其他人已经指出的那样,
DateTime.TryParseExact
无疑是更好的方法,但仍然是
Convert.ToDateTime
还提供了一个重载,可以接受区域性信息,以防您想尝试一下

像这样的

Input.TestDate = Convert.ToDateTime(gvwTest.Rows[i].Cells["TxnDate"].Value, CultureInfo.InvariantCulture).ToString("yyyy-MM-dd HH:mm:ss");
或者


避免
Convert.ToDateTime
。相反,您应该始终选择
DateTime.ParseExact
DateTime.TryParseExact
。我想,微软需要完全从.NET中删除
Convert
类。@Dai我不知道微软会删除Convert,但谢谢你提供的信息。该项目已经与许多方面合作,所以我只想使其更加标准化。避免
Convert.ToDateTime
。相反,您应该始终选择
DateTime.ParseExact
DateTime.TryParseExact
。我想,微软需要完全从.NET中删除
Convert
类。@Dai我不知道微软会删除Convert,但谢谢你提供的信息。该项目已经与许多方合作,所以我只想使其更加标准化。我发现
DateTime.TryParseExact
更适合解决我的问题,但是,我会接受这个答案,因为它给了我一些线索。我发现
DateTime.TryParseExact
更适合解决我的问题,不过,我会接受这个答案,因为它给了我一些线索。非常感谢