转换为dd.mm.yyyy的字符串。HH:mm:ss格式到datetime C#

转换为dd.mm.yyyy的字符串。HH:mm:ss格式到datetime C#,c#,datetime,C#,Datetime,所以我有一个字符串是24.08.2010。21:21:21,我想将其转换为2010-08-24 21:21:21,以便能够将其保存在数据库中 我试过这个 var input = "22.08.2010. 7:00:00"; var date = DateTime.ParseExact(input,"yy-MM-dd HH:mm:ss.fff", null); Console.WriteLine(date); 但我得到了一个错误: System.FormatException:未将字符串识别为有

所以我有一个字符串是24.08.2010。21:21:21,我想将其转换为2010-08-24 21:21:21,以便能够将其保存在数据库中

我试过这个

var input = "22.08.2010. 7:00:00";
var date = DateTime.ParseExact(input,"yy-MM-dd HH:mm:ss.fff", null);
Console.WriteLine(date);
但我得到了一个错误:

System.FormatException:未将字符串识别为有效的日期时间


有人知道如何转换吗?

首先,您需要将字符串输入转换为日期:

然后将日期转换为字符串:

Console.WriteLine(date.ToString("yy-MM-dd HH:mm:ss"));

你的输入和你的格式不一样。。。所以修正你说的
,我有一个字符串是24.08.2010。21:21:21
但您的代码已
22.08.2010。7:00:00
?o、 o在你的年度部分之后,你真的有了
?真奇怪。根据您的输入,正确的格式似乎是
dd.MM.yyyy。h:mm:ss
。此外,当您将字符串解析为DateTime对象时,最好使用特定的
CultureInfo
,以防止出现歧义情况。此外,您应该将日期保存为数据库中的
Date
类型,切勿将日期保存为字符串您需要使用字符串当前的格式解析字符串,然后将日期时间格式化为您想要的格式。您的格式字符串不正确,是吗?您将
yy
作为字符串的第一部分。第一部分是22,这是一天。
Console.WriteLine(date.ToString("yy-MM-dd HH:mm:ss"));