MVC Solution установлен в формат даты США

1

Я работаю над веб-приложением MVC 5 в Visual Studio 2013, где у меня возникают проблемы с форматом даты. Когда я запускаю код, формат даты возвращается в US Datetime abc = DateTime.Now; равно "05/19/2014 00:00:00", где я бы хотел, чтобы он вернулся в британском формате.

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

Проект настроен на Team Foundation Server, и в этом проекте работают еще три разработчика. Все файлы проекта были проверены и синхронизированы.

Но другие разработчики возвращают формат даты в Великобритании.

Я создал еще один тестовый проект, и он возвращает дату в формате Великобритании. Поэтому я знаю, что это не мои настройки Visual Studio.

Кто-нибудь знает, где я могу проверить или изменить любые настройки или код, где я могу вернуть формат даты на моем локальном компьютере.

Заранее спасибо :)

Теги:
datetime
asp.net-mvc
asp.net-mvc-5
visual-studio-2013

3 ответа

3
Лучший ответ

Попробуйте enableClientBasedCulture в вашем Web.Config:

<system.web>
    <globalization enableClientBasedCulture="true" culture="auto" uiCulture="auto" />
</system.web>
0
Datetime abc = DateTime.Now;

Вышеприведенный код не имеет абсолютно никакого отношения к тому, как представлена дата или время. Весь объект DateTime выполняет отслеживание количества тиков с определенной даты. Только тогда, когда вы конвертируете его в строку, имеет значение любое форматирование.

См. Строки форматирования даты и времени в MSDN.

На форматирование влияют свойства текущего объекта DateTimeFormatInfo, который предоставляется неявно текущей культурой потока или явно параметром IFormatProvider метода, который вызывает форматирование. Для параметра IFormatProvider следует указать объект CultureInfo, представляющий культуру, или объект DateTimeFormatInfo.

0

Вы должны установить следующие культуры;

System.Threading.Thread.CurrentThread.CurrentCulture = Globalization.CultureInfo.GetCultureInfo("en-US")
    System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture

также убедитесь, что маска ввода в вашем интерфейсе установлена некорректно, чтобы она возвращала то, что ожидает ваш бэкэнд.

  • 0
    Как правило, лучше настроить это с помощью Web.config, а не жестко программировать его.
  • 0
    Попробую это в следующий раз :) не знал, что это возможно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню