【发布时间】:2016-08-03 10:23:29
【问题描述】:
为什么我不能解析这样的字符串:
DateTime date = DateTime.ParseExact("23.02.2016 08:59:35",
"dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
抛出异常
字符串未被识别为有效的日期时间。
我真的不明白。
【问题讨论】:
为什么我不能解析这样的字符串:
DateTime date = DateTime.ParseExact("23.02.2016 08:59:35",
"dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
抛出异常
字符串未被识别为有效的日期时间。
我真的不明白。
【问题讨论】:
您的字符串中有一些宽度为零的 Unicode 字符。如果您删除它们,它将起作用:
DateTime.ParseExact("23.02.2016 08:59:35",
"dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture)
【讨论】:
Regex.Replace("23.02.2016 08:59:35", @"[^\d\s\.:]", string.Empty).
当心&nbsp 非破坏空间,它看起来像一个空间,但不是。您的日期和时间之间可能有其中之一....特别是如果您从 html 文档中提取...哦,痛苦,痛苦。不间断空格也被视为正则表达式中的空格,并且未被检测到。
text = text.Replace('\u00A0',' ');
【讨论】: