在基于ASP.NET 5 Web应用程序模板的项目中,viewmodel的此属性
[Display(Name = "Subscription Expires")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:D}")]
public DateTime? SubscriptionExpires { get; set; }
在视图中由@Html.DisplayFor(model => model.SubscriptionExpires)
呈现时,无论用户区域设置如何,都会显示美国日期格式。
如何确保以用户格式显示日期?
答案 0 :(得分:4)
要设置RC2版本的日期区域设置,您可以在Configure方法中的Startup.cs文件中使用以下内容:
var ci = new CultureInfo("en-GB");
ci.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
// Configure the Localization middleware
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(ci),
SupportedCultures = new List<CultureInfo>
{
new CultureInfo("en-GB"),
},
SupportedUICultures = new List<CultureInfo>
{
new CultureInfo("en-GB"),
}
});
全球化仍未在AFAIK上完善,你可以从这篇博文中找到更多信息,这些信息在RC1-final中是正确的:RC1-final Globalization以及GitHub上的ASP.Net Localization repo {{3} }。
希望这会对你有所帮助。