C# 在C中将字符串dd-MM-yyyy转换为日期时间yyy-MM-dd#

C# 在C中将字符串dd-MM-yyyy转换为日期时间yyy-MM-dd#,c#,datetime,C#,Datetime,我有一个以下格式的字符串: 21‎-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30 我想将其设置为以下格式的日期时间: 2014-‎10‎-‎21 ‎15‎:‎40‎:‎30 我试过: DateTime dt = DateTime.ParseExact("21‎-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); 但运气不好,它抛出了一个异常字符串未被识别为有效的日期时间 编

我有一个以下格式的字符串:

21‎-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30
我想将其设置为以下格式的日期时间:

2014-‎10‎-‎21 ‎15‎:‎40‎:‎30
我试过:

DateTime dt = DateTime.ParseExact("21‎-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
但运气不好,它抛出了一个异常
字符串未被识别为有效的日期时间

编辑

我也尝试过:

DateTime dt = DateTime.ParseExact("21-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30", "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture);

在两个参数中使用相同的格式。例外情况是相同的,因此问题不在于格式之间的差异。我之前已经检查过了。

您的输入字符串包含字符,您可以通过在支持Unicode的编辑器中粘贴它并查看空白字符来查看这些字符。另请参见(仅在编辑模式下可见)

:

输出:

2014-10-21 15:40:30

format
参数不是您希望日期采用的格式,而是它所采用的格式。请使用搜索。为了澄清CodeMaster的评论,
Parse
的格式需要是它所使用的格式,
ToString
的格式需要是你想要的格式。“格式中的日期时间”是非序列。这就像要求“十六进制的整数”。
DateTime
只是一个没有特定格式的值……请参见,和。@CodeCaster,这不是同一个问题,我在投票前已经检查过了。你是唯一一个提到不可见字符问题的人,而不是仅仅提到嘿,你的字符串和格式不完全匹配。@Soner谢谢,但我在注释中这样做了,并在意识到之前以副本形式关闭。谢谢CodeCaster,问题并不像格式差异那么简单。发表这样的问题是愚蠢的。我不知道你提到的这些看不见的角色,但你的解决方案是有效的indeed@chiapa“发布这样的问题是愚蠢的”——你不会说,但他们一天会被问很多次。很高兴为help.CodeCaster提供帮助,该字符串来自添加到数组并传递给C#方法的javascript日期。既然你提到了看不见的字符,我猜问题可能是日期和时间之间的空白,而不是实际的空白?
2014-10-21 15:40:30