ToLongDateString() 在阿拉伯语中显示错误的日期
ToLongDateString() showing wrong date in Arabic
在我的 ASP NET MVC Entity Framework 项目中,我从数据库传递日期和时间信息。当我以阿拉伯语格式 CultureInfo("ar-AR")
显示日期时,我从数据库中输入的内容得到 不正确的日期 。
到目前为止我的代码:
datetime_created.ToLongDateString();
// The date I pass is:- 2020-12-10
// CultureInfo("en-US") in en-US culture it displays the date as it is in a database:- Thursday, December 10, 2020
// CultureInfo("ar-AR") in ar-AE culture it displays another date:- 1442/ربيع الثاني/25
知道为什么会这样吗?
当您使用 ar-AE
文化 - 阿拉伯语,阿拉伯联合酋长国时,您 将 给定 DateTime
表示为 字符串 根据这种文化。这里是回历
但是,您可以轻松创建自己的自定义区域性,它将是 ar-AE
除了日期表示:
// The custom (myArabic) culture will be "ar-AE" one except date formatting
CultureInfo myArabic = CultureInfo.GetCultureInfo("ar-AE").Clone() as CultureInfo;
// Let's use InvariantCulture DateTime rules
//TODO: specify all date time format settings here
myArabic.DateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat;
DateTime test = new DateTime(2020, 12, 10);
Console.Write(test.ToString("G", myArabic));
结果:
12/10/2020 00:00:00
在我的 ASP NET MVC Entity Framework 项目中,我从数据库传递日期和时间信息。当我以阿拉伯语格式 CultureInfo("ar-AR")
显示日期时,我从数据库中输入的内容得到 不正确的日期 。
到目前为止我的代码:
datetime_created.ToLongDateString();
// The date I pass is:- 2020-12-10
// CultureInfo("en-US") in en-US culture it displays the date as it is in a database:- Thursday, December 10, 2020
// CultureInfo("ar-AR") in ar-AE culture it displays another date:- 1442/ربيع الثاني/25
知道为什么会这样吗?
当您使用 ar-AE
文化 - 阿拉伯语,阿拉伯联合酋长国时,您 将 给定 DateTime
表示为 字符串 根据这种文化。这里是回历
但是,您可以轻松创建自己的自定义区域性,它将是 ar-AE
除了日期表示:
// The custom (myArabic) culture will be "ar-AE" one except date formatting
CultureInfo myArabic = CultureInfo.GetCultureInfo("ar-AE").Clone() as CultureInfo;
// Let's use InvariantCulture DateTime rules
//TODO: specify all date time format settings here
myArabic.DateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat;
DateTime test = new DateTime(2020, 12, 10);
Console.Write(test.ToString("G", myArabic));
结果:
12/10/2020 00:00:00