我花了一天的时间试图让DateTime.ParseExact()
根据Parse string to DateTime in C#上正确回答的问题开始工作,但我无法得到答案。
这是我的代码:
string testDateRaw = @"2014-05-21 10:08:15.965";
string format = "yyyy-MM-dd H:mm:ss.yyy";
DateTime testDate = DateTime.ParseExact(testDateRaw, format, CultureInfo.InvariantCulture);
System.Console.WriteLine(testDate);
错误:
DateTime模式'y'以不同的值出现多次。
注意:此帖子的原始版本中报告的错误未显示在此示例中,但可能相关:
“将字符串转换为DateTime时,在将每个变量放入DateTime对象之前解析字符串。”
答案 0 :(得分:4)
您的格式应为yyyy-MM-dd HH:mm:ss.fff
string testDateRaw = @"2014-05-21 10:08:15.965";
string format = "yyyy-MM-dd HH:mm:ss.fff";
DateTime testDate = DateTime.ParseExact(testDateRaw, format, CultureInfo.InvariantCulture);
System.Console.WriteLine(testDate);
答案 1 :(得分:4)
我使用该代码得到的错误如下:
DateTime模式'y'以不同的值出现多次。
这是不言自明的。查看the docs,您需要在此处使用.fff
:
"yyyy-MM-dd H:mm:ss.fff"
yyy
是:年份,至少有三位数,但由于您的模式中已经有yyyy
,因此会出现重复的说明符错误。
答案 2 :(得分:1)
你的格式错了,你用了两次。
string testDateRaw = @"2014-05-21 10:08:15.965";
string format = "yyyy-MM-dd H:mm:ss.fff";
DateTime testDate = DateTime.ParseExact(testDateRaw, format, CultureInfo.InvariantCulture);
System.Console.WriteLine(testDate);