0

在我的 ASP NET MVC 实体框架项目中,我从数据库中传递日期和时间信息。当我以阿拉伯语格式显示日期时,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

任何想法为什么会发生这种情况?

4

1 回答 1

1

当您使用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      
于 2021-04-08T15:51:28.310 回答