c# - 在 MVC 6 应用程序中显示本地日期格式

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

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

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

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

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

最佳答案

要设置 RC2 版本的日期区域设置,您可以在 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"),
            }
        });

据我所知,全局化还没有结束,您可以从这篇博文中找到更多信息,该博文截至 RC1-final 是正确的:RC1-final Globalization以及 GitHub 上的 ASP.Net 本地化存储库 Localization repo .

希望这对您有帮助。

关于c# - 在 MVC 6 应用程序中显示本地日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34871231/

相关文章:

c# - 如果行可见,则更改 gridview 中每隔一行的背景

javascript - Asp.Net MVC 5 Jquery 验证不适用于带有提交事件的 ajax post,显示为有效表单

c# - 为什么要创建 ASP.NET 5 类库项目?

c# - 如何使用 ASP.NET 5 运行 Firebird 嵌入式数据库?

c# - 如何在c#中实现佩尔数计算

c# - 如何使用 AddKeyPerFile 在 linux 容器中加载 secret

c# - ASP.NET Core 2 - 全局过滤器注册多种方式?

asp.net-web-api - 如何使用 ASP.NET Core 执行全文搜索和索引?

c# - Mvc核心更改密码

javascript - 如何从数据库获取数据以便通过 JavaScript 创建动态元素?