В настоящее время у меня трудно найти, как решить мою проблему, связанную с функцией DateTime.TryPaseDateTime.TryParse() проблема при преобразовании немецкой даты США Дата
String formattedDateString = String.Empty;
// German date dd.mm.yyyy
string dateString = "14.03.2016";
DateTimeFormatInfo dateTimeFormat = null;
//automatically throws and exception if the locale is not in the correct format
CultureInfo fromCulture = new CultureInfo("en-US");
DateTime tryParseDateTime;
//automatically throws and exception if the locale is not in the correct format
CultureInfo toCulture = new CultureInfo("de-de");
dateTimeFormat = toCulture.DateTimeFormat;
// expecting result to fail
if (DateTime.TryParse(dateString, fromCulture, DateTimeStyles.None, out tryParseDateTime))
{
formattedDateString = tryParseDateTime.ToString("d", dateTimeFormat);
Console.WriteLine("success");
}
else
{
Console.WriteLine("Failed");
}
Так вот в моем коде, я отправив дату немецкого формата, то есть dd.mm.yyyy, и ожидая, что DateTime.TryParse завершится с ошибкой, но поскольку день ниже 12, он предполагает, что имеет месяц и возвращает оператор успеха.
Если я передаю немецкую дату «15.03.2016», это прекрасно работает.
Как я могу решить свою проблему здесь.
Здесь запрашиваемая локаль немецкий
Благодаря
Ну, для начала вы проходите в культуре США, чтобы преобразовать, я полагаю, это должно быть «de-DE»? – DavidG
Голосование закрывается из-за ошибки на стороне OP. – t0mm13b
try [DateTime.ParseExact] (https://msdn.microsoft.com/en-us/library/w2sa9yss (v = vs.110) .aspx) –