//Static methods //////////////////////////// Implementation /////////////////////////////////// public static CAACalendarDate MoslemToJulian(int Year, int Month, int Day) { //What will be the return value CAACalendarDate JulianDate = new CAACalendarDate(); int N = Day + CAADate.INT(29.5001 * (Month - 1) + 0.99); int Q = CAADate.INT(Year / 30.0); int R = Year % 30; int A = CAADate.INT((11 * R + 3) / 30.0); int W = 404 * Q + 354 * R + 208 + A; int Q1 = CAADate.INT(W / 1461.0); int Q2 = W % 1461; int G = 621 + 4 * CAADate.INT(7 * Q + Q1); int K = CAADate.INT(Q2 / 365.2422); int E = CAADate.INT(365.2422 * K); int J = Q2 - E + N - 1; int X = G + K; int XMod4 = X % 4; if ((J > 366) && (XMod4 == 0)) { J -= 366; X++; } if ((J > 365) && (XMod4 > 0)) { J -= 365; X++; } JulianDate.Year = X; CAADate.DayOfYearToDayAndMonth(J, CAADate.IsLeap(X, false), ref JulianDate.Day, ref JulianDate.Month); return(JulianDate); }