2

这似乎是一个简单的练习,但如果我能在 MSDN 或网络上的任何地方找到正确执行此操作的示例,我会很高兴的。

我们有数据馈送,一个包含指数值和日期的文件(例如标准普尔 500 指数)。日期表示为 YYYYMMDD。当然,Date.Parse() 方法不理解这种格式。

我在一个类上写了一个简单的静态方法来解析这个,没什么大不了的,但是它激怒了我的工程师,我无法弄清楚如何让 IFormatProvider 功能工作。所有示例都处理 FORMATTING 步骤,而不是 PARSING 步骤。

所以基本上,我想说:

Dim d as DateTime = Date.Parse("20110522", New CustomFormatter())

并从 Parse 方法中获取正确的日期值。

在 CustomFormatter 上实现了 IFormatProvider 方法后,GetFormat() 方法会使用 DateTimeFormatInfo 的 System.Type 调用,但老实说,我不知道从那里做什么,因为所有示例都处理格式化,而不是解析。如果我返回一个对象(self)或 null 并不重要,我只会得到“字符串未被识别为有效的 DateTime”。

任何指针表示赞赏。谢谢。

4

1 回答 1

3

改为使用DateTime.ParseExact();MSDN 帖子有示例。

于 2011-05-25T15:02:47.867 回答