2013-01-04 1 views
2

J'ai une colonne datetime dans la base de données.L'horodatage du format "2013-Jan-31" génère une erreur

DateTime end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MM-dd", CultureInfo.InvariantCulture); 

Pourquoi cela ne fonctionne-t-il pas?

+5

Ne pas vous dire 'MMM'? –

+1

Vous n'avez pas besoin de "" aaaa-MMM-jj "comme format (notez le M supplémentaire)? –

Répondre

2

Essayez comme ceci;

DateTime a = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture); 
Console.WriteLine (a); 

Sortie:

31.01.2013 

Regardez de MSDN Custom Date and Time Format Strings

3

Cela ne fonctionne pas car MM signifierait janvier à 01. Si c'est le format de la date que vous essayez d'analyser, essayez le format "yyyy-MMM-dd".

Espérons que cela aide

1

MM représente un mois numérique à deux chiffres (par exemple "01").

MMM représente le mois abrégé (tel que "Jan").

Ce qui signifie que vous avez besoin

myObject.end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture); 

Voir http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx pour une liste des formats de type chaîne.

2

Pour utiliser un tel nom du mois, vous devez prendre « mmm » il sera

myObject.end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture); 
Questions connexes