Date.Parse与自定义格式化程序

时间:2011-05-25 15:01:23

标签: vb.net parsing datetime iformatprovider

这似乎是一个简单的练习,但如果我能找到一个在MSDN或网络上的任何地方做到这一点的例子,我会感到很沮丧。

我们有数据Feed,一个带索引值和日期的文件(例如S& P 500)。日期表示为YYYYMMDD。当然,Date.Parse()方法不理解这种格式。

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

基本上,我希望能够说:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

使用DateTime.ParseExact()代替; MSDN帖子有例子。