Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 在Abp framework.NET Core 3中使用非英语文化的公历日期_Asp.net Core_Aspnetboilerplate_Asp.net Boilerplate - Fatal编程技术网

Asp.net core 在Abp framework.NET Core 3中使用非英语文化的公历日期

Asp.net core 在Abp framework.NET Core 3中使用非英语文化的公历日期,asp.net-core,aspnetboilerplate,asp.net-boilerplate,Asp.net Core,Aspnetboilerplate,Asp.net Boilerplate,更改ASP.net样板文件(.net core 3带角度)中的语言时,UI中的日期已更改为Ar区域性。我想使用带Ar区域性的格里高利日期。 我在下面的建议中找到了没有很多变通方法的直接解决方案,但我不喜欢这样的解决方案 编辑(更多详细信息): 在Abp框架中,有一个多语言选项,因此当我将语言切换为阿拉伯语时,整个系统文化切换为带有Hijri日期格式的阿拉伯语文化,我想将系统更改为带有gregorian日期的阿拉伯语文化,我该如何做?如果有自定义代码,我应该将其放在哪里(例如在Startup.c

更改ASP.net样板文件(.net core 3带角度)中的语言时,UI中的日期已更改为Ar区域性。我想使用带Ar区域性的格里高利日期。 我在下面的建议中找到了没有很多变通方法的直接解决方案,但我不喜欢这样的解决方案

编辑(更多详细信息):

在Abp框架中,有一个多语言选项,因此当我将语言切换为阿拉伯语时,整个系统文化切换为带有Hijri日期格式的阿拉伯语文化,我想将系统更改为带有gregorian日期的阿拉伯语文化,我该如何做?如果有自定义代码,我应该将其放在哪里(例如在Startup.cs类中)因为我尝试过自定义代码,但系统在Startup.cs类的Configure函数中不接受它

Startup.cs类代码

 public void Configure(IApplicationBuilder app,  ILoggerFactory loggerFactory)
        {
/*****************************************************************************/

            CultureInfo myCIintl = new CultureInfo("ar-SA", false);
            Calendar[] myOptCals = new CultureInfo("ar-SA").OptionalCalendars;
            // Checks which ones are GregorianCalendar then determines the GregorianCalendar version.
            Console.WriteLine("The ar-SA culture supports the following calendars:");
            foreach (Calendar cal in myOptCals)
            {

                if (cal.GetType() == typeof(GregorianCalendar))
                {

                    GregorianCalendar myGreCal = (GregorianCalendar)cal;
                    myCIintl.DateTimeFormat.Calendar = myGreCal;
                    GregorianCalendarTypes calType = myGreCal.CalendarType;
                    Console.WriteLine("   {0} ({1})", cal, calType);
                }
                else
                {
                    Console.WriteLine("   {0}", cal);
                }
            }
/*****************************************************************************/

            app.UseAbp(options => { options.UseAbpRequestLocalization = false; }); // Initializes ABP framework.

            app.UseCors(_defaultCorsPolicyName); // Enable CORS!

            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();

            app.UseAbpRequestLocalization();


            app.UseEndpoints(endpoints =>
            {
                endpoints.MapHub<AbpCommonHub>("/signalr");
                endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
                endpoints.MapControllerRoute("defaultWithArea", "{area}/{controller=Home}/{action=Index}/{id?}");
            });

            // Enable middleware to serve generated Swagger as a JSON endpoint
            app.UseSwagger();
            // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint(_appConfiguration["App:ServerRootAddress"].EnsureEndsWith('/') + "swagger/v1/swagger.json", "MyApp API V1");
                options.IndexStream = () => Assembly.GetExecutingAssembly()
                    .GetManifestResourceStream("MyApp .Web.Host.wwwroot.swagger.ui.index.html");
            }); // URL: /swagger
        }
public void配置(IApplicationBuilder应用程序,ILoggerFactory loggerFactory)
{
/*****************************************************************************/
CultureInfo myCIintl=新的CultureInfo(“ar SA”,false);
日历[]个人日历=新文化信息(“ar SA”)。可选日历;
//检查哪些是GregorianCalendar,然后确定GregorianCalendar版本。
WriteLine(“ar SA区域性支持以下日历:”);
foreach(日历校准,以近视为单位)
{
if(cal.GetType()==typeof(gregorianalendar))
{
GregorianCalendar myGreCal=(GregorianCalendar)cal;
myCIintl.DateTimeFormat.Calendar=myGreCal;
GregorianCalendarTypes calType=myGreCal.CalendarType;
WriteLine(“{0}({1})”,cal,calType);
}
其他的
{
Console.WriteLine(“{0}”,cal);
}
}
/*****************************************************************************/
app.UseAbp(options=>{options.UseAbpRequestLocalization=false;});//初始化ABP框架。
app.UseCors(_defaultCorsPolicyName);//启用CORS!
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAbpRequestLocalization();
app.UseEndpoints(端点=>
{
端点.MapHub(“/signalr”);
MapControllerOute(“默认值”,“{controller=Home}/{action=Index}/{id?}”);
MapControllerOute(“defaultWithArea”,“{area}/{controller=Home}/{action=Index}/{id?}”);
});
//使中间件能够将生成的Swagger作为JSON端点提供服务
app.UseSwagger();
//使中间件能够服务于招摇过市的ui资产(HTML、JS、CSS等)
app.UseSwaggerUI(选项=>
{
options.SwaggerEndpoint(_appConfiguration[“App:ServerRootAddress”].EnsureEndsWith(“/”)+“swagger/v1/swagger.json”,“MyApp API v1”);
options.IndexStream=()=>Assembly.getExecutionGassembly()
.GetManifestResourceStream(“MyApp.Web.Host.wwwroot.swagger.ui.index.html”);
});//URL:/swagger
}
我找到了解决方案(简易解决方案):

首先,如果您想了解有关日期和日历回顾的丰富信息,但我所做的是:

1-转到AbpLanguages数据库表并删除所有记录

2-在DefaultLanguageCreator类中,将ar更改为ar EG,因为ar区域性的默认日历为System.Globalization.UmAlQuraCalendar,但ar EG区域性的默认日历为System.Globalization.GregorianCalendar(我想要的日历)

3-然后清洁、重建溶液

4-不要忘记将XML本地化文件中的区域性更改为ar-EG。

我找到了解决方案(简易解决方案):

首先,如果您想了解有关日期和日历回顾的丰富信息,但我所做的是:

1-转到AbpLanguages数据库表并删除所有记录

2-在DefaultLanguageCreator类中,将ar更改为ar EG,因为ar区域性的默认日历为System.Globalization.UmAlQuraCalendar,但ar EG区域性的默认日历为System.Globalization.GregorianCalendar(我想要的日历)

3-然后清洁、重建溶液


4-不要忘记将XML本地化文件中的区域性更改为ar-EG。

样板文件只是一个第三方框架。它不会改变ASP.NET核心本身处理日期的方式。你到底想做什么?我怀疑有很多重复的问题会说“你不能那样做”。PS:该页上的证书已过期。在问题本身中解释你想要什么PPS:鉴于样板文件是一个ASP.NET框架,而且链接显然是一个PHP页面,返回证书过期错误,不要期望人们用除hazmat Suits之外的任何东西来触摸该链接。你检查过了吗?日期没有文化,它们有日历。DateTime在内部被视为公历日期,而与日历无关。也许您所需要做的就是更改用于显示日期的格式字符串?或者使用一个使用不同日期格式字符串的自定义区域性?@PanagiotisKanavos比您,我添加了更多详细信息,请您检查一下好吗?有什么新信息吗?样板文件只是一个第三方框架。它不会改变ASP.NET核心本身处理日期的方式。你到底想做什么?我怀疑有很多重复的问题会说“你不能那样做”。PS:该页上的证书已过期。请在问题本身中解释您想要什么pps:假设样板文件是一个ASP.NET框架,并且该链接显然是一个PHP页面,那么它将返回一个