Analyser DateTime dans c # à partir de format étrange
si j'ai un datetime chaîne dans un drôle de format, comme YYYY##MM##DD HH**M**SS
comment puis-je créer un nouvel objet datetime base sur qui? j'ai lu quelque chose à propos de la datetimeformatinfoclass mais vous ne savez pas comment le faire fonctionner..
source d'informationauteur Grant
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser DateTime.ParseExact, ou DateTime.TryParseExact pour les données dont vous n'êtes pas confiant dans. Par exemple:
Les guillemets dans la chaîne de format ne sont pas strictement nécessaires - ce sera trop de travail:
Cependant, en utilisant les guillemets signifie que vous êtes d'être plus explicite que les caractères entre guillemets sont pour être utilisés de manière littérale, et pas comprise en tant que modèle de caractères, donc si vous avez modifié "#" pour "/" la version à l'aide de citations seraient certainement utiliser "/" alors que la version sans serait d'utiliser une culture spécifique de la valeur.
La
null
dans l'appel àParseExact
signifie "l'utilisation de la culture actuelle" - dans ce cas, il est peu probable de faire beaucoup de différence, mais souvent utile alternative estCultureInfo.InvariantCulture
.C'est dommage qu'il n'y a aucun moyen d'en obtenir la BCL pour analyser la chaîne de format et de retenir l'information; mon propre Noda Temps projet rectifie cette situation, et j'espère que ça va rendre l'analyse et la mise en forme beaucoup plus rapide, mais c'est loin d'être prêt pour la production en ce moment.
Vous pouvez utiliser DateTime.ParseExact méthode et passer le format dont vous avez besoin.