C# DateTime格式提供错误

C# DateTime格式提供错误,c#,datetime,C#,Datetime,我试图解析一个日期,但它不断给出错误,不知道我做错了什么 //December 19, 2014 1:21 PM DateTime logDate = DateTime.ParseExact(_date, "MMMM dd, yyyy hh:mm tt", CultureInfo.InvariantCulture); 有人能告诉我怎么做吗?使用: DateTime logDate = DateTime.ParseExac

我试图解析一个日期,但它不断给出错误,不知道我做错了什么

//December 19, 2014 1:21 PM
DateTime logDate = DateTime.ParseExact(_date, "MMMM dd, yyyy hh:mm tt",
                                     CultureInfo.InvariantCulture);
有人能告诉我怎么做吗?

使用:

DateTime logDate = DateTime.ParseExact(_date, "MMMM dd, yyyy h:mm tt",
                                     CultureInfo.InvariantCulture);
问题是一位数的
hour
,而在您的格式中,您指定的
hh
是两位数的小时

如果您希望使用一位数/两位数的小时、分钟和日部分,则可以使用:

DateTime logDate = DateTime.ParseExact(_date, "MMMM d, yyyy h:m tt",
                                     CultureInfo.InvariantCulture);
单个
d
h
m
将解析一位数和两位数的值

你还可以看到:

对于这个特定的日期,您可以使用
DateTime.Parse
以及默认
DateTime
格式下的格式

DateTime logDate = DateTime.Parse(_date, CultureInfo.InvariantCulture);
使用:

问题是一位数的
hour
,而在您的格式中,您指定的
hh
是两位数的小时

如果您希望使用一位数/两位数的小时、分钟和日部分,则可以使用:

DateTime logDate = DateTime.ParseExact(_date, "MMMM d, yyyy h:m tt",
                                     CultureInfo.InvariantCulture);
单个
d
h
m
将解析一位数和两位数的值

你还可以看到:

对于这个特定的日期,您可以使用
DateTime.Parse
以及默认
DateTime
格式下的格式

DateTime logDate = DateTime.Parse(_date, CultureInfo.InvariantCulture);

hh是两位数小时,你得到的结果是什么?你想要的结果是什么?如果你得到一个错误,包含错误信息是很有帮助的。hh是两位数小时。你得到的结果是什么?那么你想要的结果是什么呢?如果你得到了一个erreur,那么包含错误消息是很有帮助的。我将添加,
ParseExact
按照tin上的说明执行。如果您不能保证输入日期与指定格式之间的匹配,您可能需要使用
DateTime.Parse
。@DanJ,谢谢,也添加了这一点。Thx Habib为此忙了3个小时)使用
DateTime.TryParseExact
而不是Parse-exact。如果失败,它不会在您的程序中引发异常,您可以在继续编写代码之前检查它是否有效。@user3763117,不客气,您还可以查看
DateTime.TryParseExact
作为
prospector
said^^。我要补充的是,
ParseExact
按照tin上的说明执行。如果您不能保证输入日期与指定格式之间的匹配,您可能需要使用
DateTime.Parse
。@DanJ,谢谢,也添加了这一点。Thx Habib为此忙了3个小时)使用
DateTime.TryParseExact
而不是Parse-exact。如果失败,它不会在您的程序中引发异常,您可以在继续编写代码之前检查它是否有效。@user3763117,不客气,您还可以查看
DateTime.TryParseExact
as
prospector
said^^^^。