c# - C# 不将 'dd-MMM-yyyy' 识别为有效日期时间
问题描述
我在 C# 项目中有一个函数,它接受格式为“dd-MMM-yyyy”的字符串作为日期,因此示例为“10-MAR-2021”。
我需要将该字符串转换为日期时间对象,但我尝试的一切都会导致
字符串 '10-Mar-2021' 未被识别为有效的日期时间。
我努力了
DateTime start = DateTime.ParseExact(startdate, "dd-MMM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
DateTime start = Convert.ToDateTime(startdate);
DateTime start = DateTime.Parse(startdate);
他们都抛出了同样的错误。这在 .Net 4.6 中不是问题,但是自从升级到 .Net 5 后,日期格式突然变成了一个问题。
有任何想法吗?
解决方案
我认为您在第一个破折号后插入了一些奇怪的字符。当我复制粘贴异常中返回的字符串“10-Mar-2021”时,我得到了同样的错误。
尝试
char[] charArray = startdate.ToCharArray();
和调试。我得到 charArray[3] 字符,ASCII 码为 8206。
当我不复制粘贴而是自己编写 startdate 字符串时,该代码对我有用。
推荐阅读
- php - 尺寸属性未显示在 WooCommerce 网站的前端
- java - 没有 JDBC 类型的方言映射:-101,同时从 Oracle 获取带时区的时间戳到 OffsetDatetime
- mysql - AdonisJs Mysql 关系不正常!每当我尝试从数据库中获取时给出空数组
- data-structures - 如何将flutter项目从windows导入linux?
- android - 如何在 Firebase 控制台中读取事件 SELECT_CONTENT 的详细信息
- ios - 滚动时是否可以禁用 UITableview 多个“cellForRowAt”方法调用?
- ios - 如何更新 WDA WebDriverAgentRunner 产品构建版本?
- x86 - 为什么编译器将数据放在 PE 和 ELF 文件的 .text(code) 部分,CPU 如何区分数据和代码?
- blueprism - Blue Prism - 在一个过程中使用多个应用程序 - 保留相关数据
- python - 从周围的边界框中提取车牌平行四边形?