web-dev-qa-db-fra.com

datetime.parse et le faire fonctionner avec un format spécifique

J'ai une date/heure qui revient d'un fichier XML au format:

20080916 11:02

un péché

aaaammh hh: ss

Comment puis-je obtenir la fonction datetime.parse pour y remédier? Ie parser sans erreur? À votre santé

129
anonym0use
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

en supposant que vous vouliez dire que les minutes suivaient les heures et non les secondes - votre exemple est un peu déroutant.

Le documentation ParseExact détaille les autres surcharges, au cas où vous souhaiteriez que l'analyse soit automatiquement convertie en temps universel ou quelque chose du genre.

Comme @ Joel Coehoorn mentionne, il existe également l'option d'utiliser TryParseExact , qui renverra une valeur booléenne indiquant le succès ou l'échec de l'opération. Je suis toujours sur .Net 1.1. donc j'oublie souvent celui-ci.

Si vous avez besoin d'analyser d'autres formats, vous pouvez consulter le Chaînes de format standard DateTime .

231
Blair Conrad

Merci pour le conseil, j'ai utilisé cela pour obtenir ma date "20071122" analysée, j'ai eu besoin d'ajouter des styles de datetimestyles, j'ai utilisé aucun et cela a fonctionné:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
8
bert