2014-02-04 4 views
2

В .Net 1.1 в следующем коде не отображается никаких ошибок.. Net 4.0 throws Неверная дата Исключение

Dim T As DateTime = "10\1\2010" 

Но в .Net 4.5, тот же код показывает ошибку, говорящую «Unrecognized Date Format». Почему это происходит? Почему .Net 1.1 конвертирует «10 \ 1 \ 2010» в «10/1/2010» неявно, но не .Net 4.5. Можно ли это сделать на .Net 4.5?

ответ

1

Издание является с датой разделитель «\», вы можете использовать ниже код

 Dim culture = CultureInfo.CurrentCulture.Clone() 
     culture.DateTimeFormat.DateSeparator = "\" 
     Thread.CurrentThread.CurrentCulture = culture 
     Thread.CurrentThread.CurrentUICulture = culture 
     Dim T As DateTime = "10\1\2010" 
+0

Можно ли определить пользовательский разделитель даты глобально? (в моем случае, '\' для разделителя даты по умолчанию), вместо того, чтобы указывать культуру в каждом экземпляре? – NewtonCode

+0

Я обновил свой ответ для этого, клонируя текущую культуру приложения. Я не пробовал, но он должен работать –

+0

Обновлен ответ с рабочим кодом, так как CultureInfo.CurrentCulture - только для чтения, поэтому вы можете установить CurrentCulture и CurrentUICulture Thread.CurrentThread. Это сделает ваш предыдущий код выполненным, как есть. –

Смежные вопросы