Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符串未被识别为有效的日期时间_C#_String_Datetime - Fatal编程技术网

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