я установил культуру для веб-приложения в .NET, чтобы использовать специальный формат для чисел, валюты и даты:CultureInfo («FR-BE») отличается от Windows, 8.1, чем прежде
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-BE");
На ОС Windows 2008 сервер с IIS 7 Я получаю «d/m/yy» как короткий формат даты (что я хочу). На моей (новой) машине Windows 8.1 pro (разработчик и тест) я получаю формат «d-m-yy» для той же самой CultureInfo ... «dash» вместо разделителя «slash».
Я проверил также в Панель управления -> Регион и настройки для Франции (Бельгия) являются, как указано выше, отличается в сервере W2k8 чем в W8.1pro ...
версия .NET является 4 , что хорошо. Инвариантная культура не помогает, поскольку мне нужна конкретная культура для отображения в пользовательском интерфейсе, и проблема там была. Правда, изменения произошли с Windows 8 ... Наконец-то я использовал, чтобы переопределить некоторые настройки для культуры резьбы, как разделитель даты:
DateTimeFormatInfo dtfi = Thread.CurrentThread.CurrentCulture.DateTimeFormat; if (dtfi.DateSeparator != "/") dtfi.DateSeparator = "/";
Это гарантировало, что слэш будет разделитель даты все время в текущая нить.
спасибо. Кто-нибудь знает об этом? Бельгия изменила национальные стандарты? Или Microsoft сделала для них? Есть идеи? Спасибо.
И каковы их версии .NET Framework? –
Если вам нужен конкретный формат, почему бы не использовать инвариантную культуру? –
Согласно [этому сайту] (http://en.wikipedia.org/wiki/Date_and_time_notation_in_Belgium) форматирование должно быть 'yyyy-mm-dd' – Magnus