Результат следующего фрагмента: «12.06.1930 12:00:00». Как я могу контролировать предполагаемый век, чтобы вместо этого «12 июня 30» стал 2030?DateTime.TryParse century control C#
string dateString = "12 Jun 30"; //from user input
DateTime result;
DateTime.TryParse(dateString, new System.Globalization.CultureInfo("en-GB"),System.Globalization.DateTimeStyles.None,out result);
Console.WriteLine(result.ToString());
Пожалуйста, отложите, на данный момент, тот факт, что правильно решение правильно указать дату, в первую очередь.
Примечание: результат не зависит от системного времени и времени для компьютера, на котором запущен код.
Ответ: Спасибо Deeksy
for (int i = 0; i <= 9; i++)
{
string dateString = "12 Jun " + ((int)i * 10).ToString();
Console.WriteLine("Parsing " + dateString);
DateTime result;
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-GB");
cultureInfo.Calendar.TwoDigitYearMax = 2099;
DateTime.TryParse(dateString, cultureInfo , System.Globalization.DateTimeStyles.None, out result);
Console.WriteLine(result.ToString());
}
Другое преимущество этого подхода заключается в том, что некоторое время в базе данных вершин на 2067, поэтому установив TwoDigitYearMax в 2067 работает хорошо. – Nat