2010-07-21 4 views
4

J'essaye d'analyser cette date-heure, mais elle retourne toujours faux.Problème d'analyse de date/heure

DateTime.TryParseExact("07/01/2007 12:15", "mm/dd/yyyy HH:mm", new CultureInfo("en-US"), DateTimeStyles.None, out met) 
+2

Que voulez-vous dire par "ne fonctionne pas"? Qu'est-ce qu'il est censé faire, et que ne fait-il pas? Vous obtiendrez des réponses qui correspondent à la quantité de détails que vous avez mis dans votre question (beaucoup de détails - de bonnes réponses, pas beaucoup de détails - de mauvaises réponses). – Oded

Répondre

21

Le modèle pour le mois est capital MM:

"MM/dd/yyyy HH:mm" 

mm représente minutes et vous avez déjà utilisé à la fin.

+0

@Dimitrov Merci beaucoup – developer

6

Le problème est qu'à l'exécution, il trouve deux composants de minutes dans la chaîne spécifiée comme spécifié par le format pour l'analyse. Vous n'êtes donc pas en mesure de construire un objet DateTime valide à partir de la chaîne d'entrée donnée avec le format spécifié. Il trouve 07 et 15 à la fois comme minutes d'où le problème. Lorsque vous exécutez le code avec ParseExact et sans TryParse, vous obtiendrez l'exception suivante:

System.FormatException: modèle DateTime 'm' apparaît plus d'une fois avec des valeurs différentes.

La solution: Notez que, mm est pour les minutes, MM est pendant des mois. Dans votre cas particulier, vous devez dire quelle partie est le mois et quelle est la minute. En supposant que vous avez besoin de 07 comme mois, voici la version corrigée de votre code.

DateTime.TryParseExact("07/01/2007 12:15", "MM/dd/yyyy HH:mm", new CultureInfo("en-US"), DateTimeStyles.None, out met) 
+0

merci pour l'explication – developer

Questions connexes