gpt4 book ai didi

c# - 为什么这不被识别为有效的日期时间?

转载 作者:太空宇宙 更新时间:2023-11-03 19:46:51 25 4
gpt4 key购买 nike

我有以下代码行:

DateTime dt1 = DateTime.ParseExact("‎2017/‎04/‎09 ‏‎2:44 PM", "yyyy/MM/dd h:mm tt", System.Globalization.CultureInfo.InvariantCulture);  

如您所见,日期时间和格式匹配(至少看起来匹配),但我在转换时仍然遇到错误:

String was not recognized as a valid DateTime.

最佳答案

不确定你把它带到哪里了,但你的输入中有一些不可见的 unicode 字符。尝试复制粘贴它,它会起作用:

DateTime dt1 = DateTime.ParseExact("2017/04/09 2:44 PM", "yyyy/MM/dd h:mm tt", System.Globalization.CultureInfo.InvariantCulture);  

进一步挖掘,在/和 0 之间有一个“E2 80 8E”,在 2 之前还有一个。According to the unicode table ,这是“从左到右的标记”。

让它工作的一种方法是删除所有您不希望看到的字符:

var input = "‎2017/‎04/‎09 ‏‎2:44 PM";

var sanitizedInput = Regex.Replace(input, @"[^\w:/ ]", string.Empty);

DateTime dt1 = DateTime.ParseExact(sanitizedInput, "yyyy/MM/dd h:mm tt", System.Globalization.CultureInfo.InvariantCulture);

关于c# - 为什么这不被识别为有效的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com