日期时间格式-无法识别一个数字日期

本文关键字:日期 数字 一个 识别 时间 格式 | 更新日期: 2023-09-27 18:16:15

我需要读取以下格式的字符串:"6102015"(意思是2015年10月6日),并将其转换为日期时间对象。

我尝试了以下代码,但没有成功:

DateTime.ParseExact("6102015", "dMyyyy", CultureInfo.CurrentCulture);

但是当我使用带有额外0的日期字符串测试代码时,它工作了。

DateTime.ParseExact("06102015", "dMyyyy", CultureInfo.CurrentCulture); // works correctly

是否有一种方法可以读取此日期格式而无需添加0?

事先感谢您的帮助。

日期时间格式-无法识别一个数字日期

是否有一种方法可以读取此日期格式而无需添加0?

在我看来,加一个0是你最不担心的。这个只用一行代码。

假设您有数据库的副本或您可以有效地修改的东西,我将:

  1. 创建日期/时间类型的字段,或者如果必须使用字符串,则使用ISO-8601格式(yyyy-MM-dd)
  2. 解析所有已经是8个字符的值
  3. 通过插入两个0解析所有6个字符的值(因此abcccc变成0a0bcccc)
  4. 对于每个剩余值,形式为abcyyyy:
    • 尝试解析为0abcyyyy
    • 尝试解析为ab0cyyyy
    • 如果只有一个解析工作,将结果存储在新列
  5. 现在查看所有剩余的行(即您没有填充"已知良好"值的行)
    • 可能能够使用其他数据(例如插入顺序)来确定哪个是"正确的"解析…
    • 你可能没有-在这种情况下,你需要决定怎么做