J'ai ceci dans mon code:
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
Et quand ma culture actuelle est néerlandaise (nl-NL
) au lieu du 1er mai, je reçois le 5 janvier.
Je pense que l'erreur est dans le deuxième paramètre dd.MM.yyyy HH:mm:ss
.
Existe-t-il un moyen de résoudre ce problème en utilisant la classe CultureInfo
?
Vous pouvez essayer ce qui suit:
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
Utilisez CultureInfo
class pour modifier vos informations de culture.
var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);
InvariantCulture
est similaire à en-US
, donc j'utiliserais la bonne CultureInfo
à la place:
var dutchCulture = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCulture);
Et qu'en est-il lorsque la culture est en nous? Devrai-je coder pour chaque langue est là-bas?
Si vous voulez savoir comment afficher la date dans une autre culture comme "en-us", vous pouvez utiliser date1.ToString(CultureInfo.CreateSpecificCulture("en-US"))
.