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

Show local date format in MVC 6 App

在基于 ASP.NET 5 Web 应用程序模板的项目中,此 属性 视图模型

    [Display(Name = "Subscription Expires")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:D}")]
    public DateTime? SubscriptionExpires { get; set; }

当由 @Html.DisplayFor(model => model.SubscriptionExpires) 在视图中呈现时,无论用户区域设置如何,都会显示美国日期格式。

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

要从 RC2 版本开始设置日期区域设置,您可以在 Startup.cs 文件中的 Configure 方法中使用以下内容:

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 全球化仍未完善,您可以从此博客中找到更多信息 post 截至 RC1-final 是正确的:RC1-final Globalization and also the ASP.Net Localization repo on GitHub Localization repo.

希望对您有所帮助。