2016-08-01 1 views
-2

Je suis en train d'analyser une chaîne de date dans mm/dd/yyyy type de date, mais il déclenche une erreur en disant:Date de Parse déclenche erreur dans ASP.NET

chaîne n'a pas été reconnu comme un DateTime valide.

Ce code J'utilise:

Dim mydate As Date 
If filter = 4 Then 
    mydate = Date.ParseExact(datepart, "mm/dd/yy", System.Globalization.DateTimeFormatInfo.InvariantInfo) 
End If 

Je ne comprends pas ce que je fait de mal, toute aide est appréciée.

+0

S'il vous plaît montrer le contenu de 'datepart'. –

+0

Quelle est la valeur de 'datepart' lorsqu'elle déclenche cette exception? – TZHX

+0

Je pense que le format devrait être "mm/jj/aaaa". Assurez-vous que la variable datepart a le format fourni. –

Répondre

1

Votre format de date est erroné, utilisez MM/dd/yyyy au lieu mm/dd/yy essayer ci-dessous

Date.ParseExact(datepart, "MM/dd/yyyy", CultureInfo.InvariantCulture) 
+0

Malheureusement, ce n'est pas la raison. J'ai essayé et encore il montre la même erreur en essayant d'analyser –

+0

désolé une erreur, essayez mon mis à jour un – Mostafiz

2

Vous avez deux petites erreurs dans votre chaîne de format:

DateTime mydate = DateTime.ParseExact("07/27/2016", 
             "MM/dd/yyyy", 
             System.Globalization.DateTimeFormatInfo.InvariantInfo); 
  1. mois sont analysés par "MM" pas "mm" (minuscule est pour les minutes)
  2. Le fo ur chiffres de l'année est analysé par "yyyy" pas "yy"
+0

Merci beaucoup .. C'est exactement le bug! –

0
CultureInfo provider = CultureInfo.InvariantCulture; 

// Parse date-only value with invariant culture. 
string dateString = "06/15/2008"; 
string format = "d"; 

var result = DateTime.ParseExact(dateString, format, provider);