Изменить стандартную культуру ASP.NET для форматирования даты - PullRequest
1 голос
/ 23 июня 2009

По какой-то причине код ASP.NET на моем сервере теперь возвращает формат дд / мм / гггг вместо ММ / дд / гггг при использовании DateTime.ToString ( "г") .

Вместо того, чтобы заменять все строки формата "g" конкретной строкой формата или аргументом CultureInfo, есть ли способ, которым я могу просто переопределить в приложении стандартный формат "короткой даты" по умолчанию?

Я предпочитаю формат "yyyy-MM-dd" в качестве формата по умолчанию, но я могу жить с американским MM / dd / yyyy, так как все пользователи в США.

Пояснение: Я не хочу менять всю культуру по умолчанию, которая может повлиять на такие вещи, как валюта и использование десятичных знаков / запятых при форматировании чисел.

Я просто хочу переопределить любой вызов ToString ("g") для использования формата даты ISO / IEC 8824 ("гггг-ММ-дд").

Я мог бы искать и заменять в своем коде, чтобы принудительно вводить CultureInfo в каждом вызове ToString (), но это не кажется мне наиболее приемлемым решением.

Мое текущее решение состоит в том, что я определил статический метод для форматирования даты, и я вызываю его вместо ToString () во всей моей кодовой базе. Но опять же, если я забуду сделать это где-нибудь в коде, у меня снова будет глупое свидание.

Ответы [ 3 ]

1 голос
/ 23 июня 2009

Вы можете установить культуру по умолчанию в web.config (уровень приложения), директиве Page или директиве control.

У меня есть различные приложения, в которых главные страницы настроены для разных культур, а страницы и элементы управления наследуются от них.

0 голосов
/ 24 июля 2009

Настройка культуры не была возможной и не зависела от региональных настроек сервера.

В итоге я написал вспомогательную функцию для форматирования дат:

Public Shared Function FormatShortDate(ByVal d As Date) As String
    If d=#1/1/0001# Then Return ""
    If d=#1/1/1900# Then Return ""
    'ISO/IEC 8824 date format
    Return d.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)
End Function

Я звоню так везде, где мне нужно сообщить дату пользователю. Он также обрабатывает отображение дат по умолчанию («волшебный»).

Я написал несколько похожих функций для и FormatShortDateTime, и FormatLongDateTime.

0 голосов
/ 17 июля 2009

Вы можете манипулировать форматом короткой даты, изменив настройку в региональных настройках панели управления на вашем сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...