2012-11-21 7 views
0

Ceci est du codeexception de conversion DateTime

String date = "1980/1/1"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", null); 
// I have also tried 
// DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", CultureInfo.InvariantCulture); 

ce qui est l'exception

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

Mise à jour

Obtenir la même erreur en utilisant le code suivant

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/D", null); 
+2

Utilisez le minuscule 'd', pas le majuscule' D' – Habib

+0

le 'D' ne doit PAS être majuscule =>' DateTime dateTime = DateTime.ParseExact (date, "aaaa/M/d", null); ' –

+0

il devrait être 'd' –

Répondre

1

essayez ceci (testé)

String date = "1980/1/1"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy'/'M'/'d",null); 

la barre oblique de caractère se situe entre qoutation unique.

1

utiliser uniquement yyyy/M/D. il a jeté une exception car il attend yyyy/01/01 deux chiffres pour le mois et le jour.

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null); 
+0

je pense que cela devrait être aaaa/M/D comme ce yyyy/M/d –

2

usage unique M et unique d

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null); 

unique M prendra soin pour le mois 01, 1-12, de même unique d prendra soin de jour 1-31, y compris 01 à 09

Vous pouvez voir: Custom Date and Time Format Strings - MSDN