C# 字符串未被识别为有效的日期时间
如何将此日期C# 字符串未被识别为有效的日期时间,c#,string,datetime,C#,String,Datetime,如何将此日期2013年12月2日转换为2013年12月2日。获取错误: 字符串未被识别为有效的日期时间 使用dd-MM-yyyy格式而不是dd/MM/yyyy 来自 将日期和时间的指定字符串表示形式转换为其 使用指定格式和特定区域性的DateTime等效项 格式信息字符串表示形式的格式必须匹配 指定的格式完全相同 在你的情况下,他们显然不是 我怀疑如果您的是-,您可以跳过使用部件。您可以将其用作等于use的null 在自定义日期和时间格式中具有特殊含义。它的意思是:;用当前区域性日期分隔符或指定
2013年12月2日
转换为2013年12月2日
。获取错误:
字符串未被识别为有效的日期时间
使用
dd-MM-yyyy
格式而不是dd/MM/yyyy
来自
将日期和时间的指定字符串表示形式转换为其
使用指定格式和特定区域性的DateTime等效项
格式信息字符串表示形式的格式必须匹配
指定的格式完全相同
在你的情况下,他们显然不是
我怀疑如果您的是-
,您可以跳过使用部件。您可以将其用作等于use的null
在自定义日期和时间格式中具有特殊含义。它的意思是:;用当前区域性日期分隔符或指定的区域性替换我
下次,请仔细阅读文档
但这里我有一个场景,日期可以是任何格式,比如 dd-MM-yyyy或dd/MM/yyy或MM-dd/yyyy格式,也可以是除 我只需要以dd/MM/yyyy格式显示输出。请建议 首先,
DateTime
没有任何隐式格式。这只是一个价值<代码>字符串它的表示可以有一个格式
如果字符串可以有多种格式,则可以使用以字符串数组为格式的。然后,您可以使用显示您的DateTime
您想要的格式
yourDateTime.ToString(@"dd\/MM\/yyyy");
使用以下命令:
string format = "dd-MM-yyyy";
table.Rows.Add(25, "Indocin", "David", DateTime.ParseExact("02-12-2013", format, CultureInfo.InvariantCulture));
希望你要格式化日期;如果您不介意对代码进行以下更改:
System.DateTime dates = Now.Date;
string format = "dd/MM/yyyy";
table.Rows.Add(25, "Indocin", "David",dates.ToString(format) ));
如果
-
是日期分隔符,则只需省略CultureInfo.InvariantCulture
。/
将替换为您当前区域性的日期分隔符(如文档所述)。但在这里,我有一个场景,其中日期可以是任何格式,如dd-MM-yyyy或dd/MM/yyyy或MM-dd/yyyyy格式,也可以是任何格式,但我只需要以dd/MM/yyyy格式显示输出。请suggest@user1030181:你的问题不是这样问的。。。例如,如果可以是MM dd yyyy
或dd MM yyyy
那么您对06-07-2014
的预期结果是什么。那是6月7日还是7月6日?@user1030181乔恩是对的(当然)。如果在数组中同时使用MM-dd-yyyy
和dd-MM-yyyy
格式,DateTime.ParseExact(..,string[],…)
重载选择适合字符串的第一种格式。这意味着,如果您在数组定义中的MM-dd-yyyy
格式之前编写dd-MM-yyyy
,您的06/07/2014
值被解析为dd/MM/yyyyy
格式,它将是7月6日。但在这里,我有一个场景,其中日期可以是dd-MM-yyyy或dd/MM/yyyy或MM-dd/yyyyy格式,也可以是任何格式,但我只需要以dd/MM/yyyyyy格式显示输出。请建议
System.DateTime dates = Now.Date;
string format = "dd/MM/yyyy";
table.Rows.Add(25, "Indocin", "David",dates.ToString(format) ));