特定のペルシャの日付をグレゴリオ暦に変換しようとしていますが、うまくいきません。以下のコードを試しましたが、次のようなコンパイラ エラーが発生します。
DateTime には、4 つの引数を取るコンストラクターが含まれていません。
using System.Globalization;
DateTime dt = new DateTime(year, month, day, new PersianCalendar());
以下の方法でも試しましたがConvertToGregorian
、グレゴリオ暦の日付ではなく、関数に渡したのと同じペルシャの日付 (以下のコードの obj) を取得します。
public static DateTime ConvertToGregorian(this DateTime obj)
{
GregorianCalendar gregorian = new GregorianCalendar();
int y = gregorian.GetYear(obj);
int m = gregorian.GetMonth(obj);
int d = gregorian.GetDayOfMonth(obj);
DateTime gregorianDate = new DateTime(y, m, d);
var result = gregorianDate.ToString(CultureInfo.InvariantCulture);
DateTime dt = Convert.ToDateTime(result);
return dt;
}
CultureInfo.InvariantCulture
myは English USであることに注意してください。