C# String.format()日期时间与阿拉伯文化

C# String.format()日期时间与阿拉伯文化,c#,datetime,cultureinfo,string.format,C#,Datetime,Cultureinfo,String.format,检查下面的代码段 namespace TestDateConvertion { class Program { static void Main(string[] args) { DateTime testValue = new DateTime(2013, 12, 15, 15, 33, 44); CultureInfo culture = new CultureInfo("ar-SA");

检查下面的代码段

namespace TestDateConvertion
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime testValue = new DateTime(2013, 12, 15, 15, 33, 44);

            CultureInfo culture = new CultureInfo("ar-SA");
            string stringValue = string.Format(culture, "{0:d} {0:HH:mm:ss}", testValue);
            Console.WriteLine(stringValue);
            Console.ReadLine();
        }
    }
}
它的输出为

22/02/35 15:33:44


我不明白这是怎么可能的。35在输出中做了什么?在Hijri中是2015年12月13日,35在Hijri中是1435,沙特阿拉伯的默认日期格式。

不是你一年的一部分吗?
我尝试
string.Format(区域性,{0:ddmmyyyy}{0:HH:MM:ss}),testValue),您将收到12 02 1435 15:33:44

而无需检查,我猜,
ar SA
文化与,其中2013年12月与1435年的日期相对应(1435开始于2013年11月的第一天)。由于您设置的区域性根据HijriCalendar格式化日期,因此您得到以下输出。。。你们的年产量是1435。这是根据HijRicalendary,您的代码为我抛出异常<此日历不支持代码>指定的时间。应该是1900年4月30日00:00:00(公历日期)到2077年11月16日23:59:59(公历日期)
这对你有用吗?那是什么13?如果打算使用2013,则用2013替换13