除了一个日期为2019,10,28的代码以外,我的代码在所有日期都可以正常工作。我不知道为什么我在将这个日期转换为umulqura或hijri时出错。
UmAlQuraCalendar HijriCalender = new UmAlQuraCalendar();
var date = new DateTime (2019,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;
}
此代码可以很好地将日期从格鲁吉亚日期转换为回历或乌穆拉语,但仅特定日期2019、10、28不会转换。