Я настраиваю новый сервер, и у меня возникли проблемы с датами синтаксического анализа, когда следующий код отлично работал на старом сервере, но не на новом сервере.
IFormatProvider fpCanada = System.Globalization.CultureInfo.CreateSpecificCulture("en-CA");
Convert.ToDateTime(strStartDate, this.fpCanada); //en-CA
Ошибка: System.FormatException: строка не была распознана как допустимое значение DateTime.
Я не хочу изменять код для использования TryParseExact
или реестра, поэтому я решил изменить региональные настройки ПК, чтобы они соответствовали настройкам старого сервера.
Старый сервер
Текущий формат: английский (Канада)
Краткая дата: дд/мм/гггг
Новый сервер
Текущий формат: английский (Канада)
Краткая дата: гггг-ММ-ДД
После обновления формата даты региональных настроек ПК на дд/мм/гггг я попытался сбросить пул приложений, но, похоже, это ничего не дало.
// Still returns yyyy-MM-dd
System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
Правильно ли я предполагаю, что региональные настройки ПК имеют прямую связь с ShortDatePattern
в .Net?