【问题标题】:Date in model binding is being set as American format even though culture is set as British in .net core 2.1即使在 .net core 2.1 中将文化设置为英国,模型绑定中的日期也设置为美国格式
【发布时间】:2019-01-03 15:46:33
【问题描述】:

.net core 2.1 中日期的模型绑定正在以美国格式设置日期值,即使文化信息设置为英国格式。

有什么想法吗?

这是我的启动文件代码sn-p

 var  enGbCulture = new CultureInfo("en-GB");
            CultureInfo.DefaultThreadCurrentCulture = enGbCulture;
            CultureInfo.DefaultThreadCurrentUICulture = enGbCulture;

            app.UseRequestLocalization(new RequestLocalizationOptions
            {
                DefaultRequestCulture = new RequestCulture(enGbCulture),

                SupportedCultures = new List<CultureInfo> { enGbCulture },

                SupportedUICultures = new List < CultureInfo > { enGbCulture },
                RequestCultureProviders = new List<IRequestCultureProvider>
                    {
                    new QueryStringRequestCultureProvider { },
                    new CookieRequestCultureProvider { },
            },
            });
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

以下是在视图中打印正确的文化信息

 <div>Current Culture: @CultureInfo.CurrentCulture.DisplayName</div>
 <div>Current UI Culture: @CultureInfo.CurrentUICulture.DisplayName</div>
 <div>Current Thread Culture: @Thread.CurrentThread.CurrentCulture.DisplayName;</div>

作为

Sample Project is on GitHub

【问题讨论】:

    标签: .net asp.net-mvc model asp.net-core-mvc model-binding


    【解决方案1】:

    在您从任何输入字段获取日期后,只需在前端以您想要的格式显示您的日期,只需将其转换为英式格式。

    试试这个代码来改变日期格式。

     string date = model.DateOfBirth.tostring(); 
        //convert datetime to string and pass it to following code
        DateTime.ParseExact(date, "M/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
    

    【讨论】:

      【解决方案2】:

      在 GitHub CaseRaisedInGitHub 中提出了这个问题,并创建了一个演示项目来解释这个问题 https://github.com/nabinkjha/DateTimeLocalization/tree/master/GetSearchDemo

      DemoProjectLink

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多