Формат даты и времени на локальном компьютере по сравнению с производственной машиной

На одной из моих страниц отображается дата-время (из базы данных), и оно корректно отформатировано как дата даты в Великобритании (dd-mm-yyyy) на моей локальной машине. Однако, когда я развертываю его на сервере, он возвращается в американский формат (mm-dd-yyyy). Кто-нибудь знает, когда это может произойти?

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

Спасибо

Ответ 1

Вы можете настроить культуру пользовательского интерфейса в файле web.config:

<globalization 
    requestEncoding="utf-8" 
    responseEncoding="utf-8" 
    culture="en-GB" 
    uiCulture="en-GB" />

или используйте атрибут [DisplayFormat] для определенного свойства вашей модели представления:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-mm-yyyy}")]
public DateTime Date { get; set; }

Ответ 2

Это будет связано с тем, что хостинг/сервер настроен на использование американского datetime, когда он был установлен. к сожалению изменение настроек теперь не поможет .net.

вам нужно определить культуру, которую вы хотите использовать в webconfig:

<configuration>
   <system.web>
      <globalization culture="en-GB"/>
   </system.web>
</configuration>

Ответ 3

Вы можете установить культуру в web.config с помощью тега глобализации.

Например: <globalization culture="auto:en-GB" uiCulture="auto:en-GB">