与生产机器相比,本地机器上的日期时间格式不同

lan*_*der 0 asp.net asp.net-mvc

在我的一个页面上,我显示一个日期时间(来自数据库),并在我的本地计算机上正确格式化为英国日期时间(dd-mm-yyyy).但是,当我将其部署到服务器时,它将恢复为美国格式(mm-dd-yyyy).有没有人知道这可能发生的时间?

这可能超出了stackoverflow的范围,但我检查了服务器设置,所有内容似乎都在区域设置中设置为UK.

谢谢

Jam*_*art 9

这是因为托管/服务器设置为在安装时使用美国日期时间.不幸的是,改变设置现在不会帮助.net.

您需要在webconfig中定义要使用的文化:

<configuration>
   <system.web>
      <globalization culture="en-GB"/>
   </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 5

您可以在web.config中设置UI文化:

<globalization 
    requestEncoding="utf-8" 
    responseEncoding="utf-8" 
    culture="en-GB" 
    uiCulture="en-GB" />
Run Code Online (Sandbox Code Playgroud)

或者[DisplayFormat]在视图模型的特定属性上使用该属性:

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