除了 2019、10、28 之外,我的代码在所有日期都运行良好。我不知道为什么将此日期转换为 umulqura 或回历时出错。
UmAlQuraCalendar HijriCalender = new UmAlQuraCalendar();
var date = new DateTime (2019,10,28);
var check = ConvertToHijri(date);
public static DateTime ConvertToHijri(this DateTime value)
{
try
{
if (value.Year > 1500)
{
GregorianCalendar Gre = new GregorianCalendar();
UmAlQuraCalendar HijriCalender = new UmAlQuraCalendar();
DateTime gDate = new DateTime(value.Year, value.Month, value.Day, Gre);
var year = HijriCalender.GetYear(gDate);
var month = HijriCalender.GetMonth(gDate);
var day = HijriCalender.GetDayOfMonth(gDate);
var test = new DateTime(year, month, day);
return test;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return value;
}
此代码可以很好地将日期从格鲁吉亚语转换为回历或 Umulqura,但只有特定日期 2019、10、28 没有转换。