DateTime. parseexact () - DateTime pattern 'y'以不同的值多

本文关键字:DateTime pattern parseexact | 更新日期: 2023-09-27 18:12:01

我花了一天的时间试图让DateTime.ParseExact()工作基于这个正确回答的问题在解析字符串到DateTime在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对象之前先解析字符串。"

DateTime. parseexact () - DateTime pattern 'y'以不同的值多

格式应为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);

参见:自定义日期和时间格式字符串

我得到的错误代码如下:

DateTime模式'y'以不同的值出现不止一次。

这是不言自明的。查看文档,您需要在这里使用.fff:

"yyyy-MM-dd H:mm:ss.fff"

yyy是:年份,至少有三位数字,但由于您的模式中已经有yyyy,因此您会得到重复的说明符错误。

你的格式不对,你用了两次y

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);