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


J'ai un datetime qui revient d'un fichier XML au format:

20080916 11:02

un péché

aaaammhh hh: ss

Comment puis-je récupérer la fonction datetime.parse? Ie l'analyse sans erreur? À votre santé


113
2017-12-04 16:15


origine


Réponses:


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

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

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

Comme @Joel Coehoorn mentionne, il y a aussi la possibilité 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, alors j'oublie souvent celui-ci.

Si vous devez analyser d'autres formats, vous pouvez consulter le Standard Format DateTime Chaînes.


202
2017-12-04 16:22



Merci pour le conseil, je l'ai utilisé pour obtenir ma date "20071122" analysé, j'avais besoin d'ajouter des styles de données, je n'en ai utilisé aucun et ça a fonctionné:

DateTime dt = DateTime.MinValue;

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

7
2018-05-22 11:47