7
votes

DateTime.parseexact String Format Exception

J'essaie de convertir une chaîne en DateTime avec le code C # suivant, xxx

à chaque fois que je passe Dateto comme 1/1/2010 Il échoue, mais il a besoin de la chaîne à 01 / 01/2010.

Quel format de chaîne dois-je utiliser pour prendre en charge les deux 01/01/2010 et 1/1/2010?


1 commentaires

Pas un DUP exact, mais cela couvre beaucoup le même territoire: Stackoverflow.com/questions/1368636/...


3 Réponses :


3
votes

Capital M est mois, Little M est des min, je pense.

Mais au point de la question, utilisez Analys. Parseexact implique que vous connaissez le format exact de l'entrée.


0 commentaires

1
votes

Vous pouvez essayer ce format: MM / DD / AAAA , mais je pense qu'il n'y a pas de chaîne de format unique qui pourrait supporter les deux entrées. Vous pouvez tester si la longueur de votre chaîne DateTo est inférieure à 10 caractères utilisent M / D / AAAAYY , sinon mm / jj / aaaa .


0 commentaires

16
votes

Utilisation de l'expression de format de date suivante vous permettra d'utiliser des éléments de jour et de mois simples ou à deux chiffres.

[DateTime]::ParseExact('01/01/2010', 'M/d/yyyy', $null)


2 commentaires

Cela ne vous laissera-t-il pas avoir de zéros de premier plan?


Je ne savais pas ça, le champignon vert pour toi monsieur!