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