175 votes

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é

311voto

Blair Conrad Points 56195
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

en supposant que vous avez voulu dire que les procès-verbaux, suivi des heures, des secondes pas - votre exemple est un peu déroutant.

Le ParseExact documentation de détails autres surcharges, dans le cas où vous voulez avoir l'analyse de convertir automatiquement en Temps Universel ou quelque chose comme ça.

@Joel Coehoorn mentionne, il y a aussi l'option d'utiliser TryParseExact, qui renvoie 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 la Norme DateTime Chaînes de Format.

22voto

bert Points 21

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);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X