2010-07-26 4 views
1

J'ai utilisé une zone de texte pour stocker une date au format JJ-MM-AAAA et depuis que j'utilise SQL Server j'ai utilisé pour obtenir la valeur de la zone de texte, puis le placer dans une variable de type DateTime dtDateTime.ParseExact erreur de format

DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture); 

Je reçois une erreur de spécification de format, je suis passé par de nombreux documents, mais ne pouvait toujours pas où je vais mal

Ce que je suis en utilisant C# et ADO.net S'il vous plaît quelqu'un peut me corriger?

+0

il dit toujours, que "MM-jj-aaaa" n'est pas un datetime valide :( –

Répondre

1

Il semble que vous ayez mélangé DD et MM. Essayez ci-dessous:

DateTime dt = DateTime.ParseExact(TextBox10.Text,"dd-MM-yyyy",CultureInfo.InvariantCulture); 

Notez que j'ai changé "DD" en "dd"!

MISE À JOUR:

Ok, donc je changé "AAAA" à "yyyy" et a couru le code ci-dessous et parsé sucessfully:

DateTime dt = DateTime.ParseExact("28-01-2010", "dd-MM-yyyy", provider); 

Si vos utilisateurs sont vraiment passent en dates le format "jj-MM-aaaa" cela devrait fonctionner pour vous. Gardez à l'esprit que la deuxième chaîne n'a rien à voir avec le format que vous stockez dans votre base de données. Cela ne concerne que le format du premier argument de la chaîne dans ParseExact. HTH.

+0

je demande à l'utilisateur de saisir (jj-mm-aaaa) mais sql stocke comme (MM-JJ-AAAA) donc je l'ai utilisé .. je suppose alors la partie sensible à la casse je vais devoir Jetez un oeil –

+0

Hey Nagaraj, lisez ma mise à jour.Je pense toujours que c'est un problème avec la façon dont les utilisateurs saisissent des dates et le format que vous attendez qu'ils soient dans lorsque vous parsiez –

+0

aussi, notez que dd signifie le format suivant: 28, 10, 0 1 etc. Faites particulièrement attention à l'exemple "01". Il s'attend à un jour à deux chiffres, même pour 1-9 ... Idem pour le mois. –

1

essayer cette

DateTime.ParseExact("12-12-2010", "MM-dd-yyyy", System.Globalization.CultureInfo.InvariantCulture) 

Prenez soin de boîtier de chaîne de format de date. "dd" peut être différent de "DD"

+0

l'entrée sera de la zone de texte :( –

+0

le format n'a pas fonctionné ... il dit toujours, que "MM-dd- YYYY "n'est pas un datetime valide :( –

0

Comme mentionné ci-dessus, la chaîne de format de date est sensible à la casse.

Toutefois, êtes-vous sûr de vouloir utiliser DateTime.ParseExact par opposition à DateTime.Parse?

+0

demande à l'utilisateur d'entrer (jj-mm-aaaa) mais sql stocke comme (MM-JJ-AAAA) donc je l'ai utilisé .. je suppose alors la partie sensible à la casse je vais dois donner un coup d'oeil –

Questions connexes