我正在尝试将特定的波斯日期转换为公历但没有成功。我试过下面的代码,但我得到编译器错误说:
DateTime 不包含采用 4 个参数的构造函数。
using System.Globalization;
DateTime dt = new DateTime(year, month, day, new PersianCalendar());
我也尝试过以下方式,但我得到了相同的波斯日期(下面代码中的 obj),我传递给ConvertToGregorian
函数而不是公历日期:
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
是美国英语。