Date.Parse с пользовательским форматером

Это похоже на простое упражнение, но я буду проклят, если смогу найти пример того, как сделать это прямо в MSDN или где-нибудь в Интернете.

У нас есть фид данных, файл со значениями индекса и датами (например, S&P 500). Даты представлены в виде ГГГГММДД. Конечно, метод Date.Parse() не понимает этот формат.

Я написал простой статический метод для класса, чтобы разобрать это, не так уж и много, но меня раздражает то, что я не могу понять, как заставить функционировать IFormatProvider работать. Все примеры касаются шага FORMATTING, а не шага PARSING.

В общем, я хочу сказать:

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

и получить правильное значение даты из метода Parse.

Реализовав метод IFormatProvider в CustomFormatter, метод GetFormat() вызывается с System.Type для DateTimeFormatInfo, но я, честно говоря, понятия не имею, что делать с этого момента, поскольку весь пример имеет дело с форматированием, а не с разбором. Не имеет значения, возвращаю ли я объект (self) или null, я просто получаю "String не был распознан как допустимый DateTime".

Любые указатели приветствуются. Благодарю.

1 ответ

Решение

Использование DateTime.ParseExact() вместо; В сообщении MSDN есть примеры.

Другие вопросы по тегам