-3

有没有办法找出给定数字是否是同一年的回历 [1] 和公历 [2] 的总和?

示例:3452 = 2015 + 1437

[1] Hijri - 伊斯兰历法。https://en.wikipedia.org/wiki/Islamic_calendar

[2] 公历。https://en.wikipedia.org/wiki/Gregorian_calendar

4

1 回答 1

0

这可能是一种蛮力的方法,这将需要您预先填充两个带有日期的列表(但这还不错,每个只有大约 2000 个元素):

 // Fill this up with all Hijri dates witin your range
 List<int> hijriDates = new List<int>() { 1,2, 1437 };

 // Fill this up with all gregorian dates within your range
 List<int> gregorianDates = new List<int>() { 3,2, 2015 };

 int number = 3452;

 var result = 
       from i in hijriDates                           
       from j in gregorianDates
       where i + j == number
       select new { Hijri = i  , Gregorian = j};

在您筛选出可能匹配的列表后,您可以确定其中哪些是同一年份。您可以使用此处的答案之一来做到这一点:

将公历日期转换为回历日期

于 2015-10-16T23:25:32.740 回答