#c# #date #field
#c# #Дата #поле
Вопрос:
Таким образом, пользователь вводит 20 в поле даты, дата заполняется до 2020 года. Введите 21, и дата заполнится до 1921. Это происходит для любых дат после 2020 года. Есть предложения?
Ответ №1:
Год, в котором «сокращается» двухзначный год Calendar.TwoDigitYearMax
.
Дополнительная информация о документации: https://docs.microsoft.com/en-us/dotnet/api/system.globalization.calendar.twodigityearmax
Значение изначально берется из системных настроек культуры, но вы можете изменить его (или создать свой собственный язык)
Ответ №2:
Вот полный пример Calendar.TwoDigitYearMax
:
string dateString = "13 Jan 21"; //from user input
DateTime resu<
CultureInfo culture = new CultureInfo("en-US");
DateTime.TryParse(dateString, culture, DateTimeStyles.None, out result);
Console.WriteLine(result.ToLongDateString());
culture.Calendar.TwoDigitYearMax = 2099;
DateTime.TryParse(dateString, culture, DateTimeStyles.None, out result);
Console.WriteLine(result.ToLongDateString());
Это должно дать:
13. januar 2021
13. januar 2021
Проверьте источник.