在MVC 6 App中显示本地日期格式

时间:2016-01-19 07:52:22

标签: c# asp.net-core asp.net-core-mvc

在基于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)呈现时,无论用户区域设置如何,都会显示美国日期格式。

如何确保以用户格式显示日期?

1 个答案:

答案 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} }。

希望这会对你有所帮助。