DateTime
は、代替カレンダーとのコンストラクタでの入力を受け付けることができますが、内部では常にですは、グレゴリオ暦相当語を使用して格納されます。あなたはすでにあなたが探しているものを持っています。
Calendar umAlQura = new UmAlQuraCalendar();
DateTime dt = new DateTime(1434, 11, 23, umAlQura);
// As a string, it will format with whatever the calendar for the culture is.
Debug.WriteLine(dt.ToString("d", CultureInfo.InvariantCulture)); // 09/29/2013
Debug.WriteLine(dt.ToString("d", new CultureInfo("ar-SA"))); // 23/11/34
// But the individual integer properties are always Gregorian
Debug.WriteLine(dt.Year); // 2013
Debug.WriteLine(dt.Month); // 9
Debug.WriteLine(dt.Day); // 29
他の方向に進むには、カレンダーオブジェクトのメソッドを使用して部品を取得する必要があります。
DateTime dt = new DateTime(2013, 9, 29); // Gregorian
Calendar umAlQura = new UmAlQuraCalendar();
Debug.WriteLine(umAlQura.GetYear(dt)); // 1434
Debug.WriteLine(umAlQura.GetMonth(dt)); // 11
Debug.WriteLine(umAlQura.GetDayOfMonth(dt)); // 23
これが役に立つかもしれません:http://stackoverflow.com/questions/11893047/converting-calendarsは –