即使将区域性信息设置为英式格式,.net core 2.1中日期的模型绑定(bind)仍以美式格式设置日期值。

任何想法 ?

这是我的启动文件代码片段

 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?}");
            });

以下是在 View 中打印正确的区域性信息
 <div>Current Culture: @CultureInfo.CurrentCulture.DisplayName</div>
 <div>Current UI Culture: @CultureInfo.CurrentUICulture.DisplayName</div>
 <div>Current Thread Culture: @Thread.CurrentThread.CurrentCulture.DisplayName;</div>

作为
.net - 即使在.net core 2.1中将文化设置为英式,也将模型绑定(bind)中的日期设置为美式格式-LMLPHP

Sample Project is on GitHub

最佳答案

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

DemoProjectLink

10-08 07:56
查看更多