2011-05-25 4 views
0

Cela semble être un exercice simple, mais je serai sacrément si je peux trouver un exemple de le faire correctement dans MSDN ou n'importe où sur le web.Date.Parse avec un formateur personnalisé

Nous avons un flux de données, un fichier avec des valeurs d'index et des dates (comme le S & P 500, par exemple). Les dates sont représentées sous la forme AAAAMMJJ. La méthode Date.Parse() ne comprend pas ce format, bien sûr.

J'ai écrit une méthode statique simple sur une classe pour analyser cela, ce qui n'est pas très grave, mais cela irrite l'ingénieur en moi que je n'arrive pas à comprendre comment faire fonctionner la fonctionnalité IFormatProvider. Tous les exemples traitent de l'étape FORMATTING, pas de l'étape PARSING.

Donc, fondamentalement, je veux pouvoir dire:

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

et obtenir la valeur de date correcte de la méthode Parse. Après avoir implémenté la méthode IFormatProvider sur CustomFormatter, la méthode GetFormat() est appelée avec un System.Type de DateTimeFormatInfo, mais honnêtement, je n'ai aucune idée de ce qu'il faut faire à partir de là car tout l'exemple concerne la mise en forme, pas l'analyse. Peu importe si je retourne un objet (self) ou null, je reçois simplement "String n'a pas été reconnu comme un DateTime valide."

N'importe quel pointeur apprécié. Merci.

Répondre

1

Utilisez plutôt DateTime.ParseExact(); MSDN post a des exemples.

+1

Bien la de da. Parfois, l'ingénieur en moi se bloque sur les solutions compliquées. Oops. Merci. – user458314

Questions connexes