我们正在开发 .NET Core 2.2 应用程序。我们注意到,本地主机上的日期格式与远程服务器上的日期格式不同。
18. 06. 2020 15:12:53
18.6.2020 15:12:53
日期使用*.cshtml
显示在@Html.DisplayFor(model => model.CreatedAt)
中。尽管本地主机和服务器使用相同的Startup.cs
文件,为什么日期格式不同?我们还希望具有远程服务器在本地主机上生成的格式。
Startup.cs :
public void ConfigureServices(IServiceCollection services)
{
...
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("sl-SI");
options.SupportedCultures = new List<CultureInfo> { new CultureInfo("sl-SI") };
});
...
}
public void Configure(IApplicationBuilder app)
{
...
app.UseRequestLocalization();
...
}
答案 0 :(得分:0)
我遇到了类似的问题,下面的代码解决了我的问题。
像下面一样在Culture
内应用Configure
。
public void Configure(IApplicationBuilder app)
{
var cultureInfo = new System.Globalization.CultureInfo("sl-SI");
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
// your code
}
编辑,我建议使用culture
中的appsettings.json
值。这样,将来您就可以更新文化,而无需新的版本。只需更新appsettings.json
并重新启动服务器即可使用。
public void Configure(IApplicationBuilder app)
{
// Get Culture Info from appsettings and set Default culture for application.
// If not found culture value from appsettings then use "sl-SI"
var culture = Configuration.GetValue<string>("AppSettings:Culture") ?? "sl-SI";
var cultureInfo = new System.Globalization.CultureInfo(culture);
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
// your code
}