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 есть примеры.