Формат даты и времени на локальном компьютере по сравнению с производственной машиной
На одной из моих страниц отображается дата-время (из базы данных), и оно корректно отформатировано как дата даты в Великобритании (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">