// Token: 0x06002F7C RID: 12156 RVA: 0x000B5B8C File Offset: 0x000B3D8C internal int GetDatePart(long ticks, int part) { PersianCalendar.CheckTicksRange(ticks); long num = ticks / 864000000000L + 1L; long num2 = CalendricalCalculationsHelper.PersianNewYearOnOrBefore(num); int num3 = (int)Math.Floor((double)(num2 - PersianCalendar.PersianEpoch) / 365.242189 + 0.5) + 1; if (part == 0) { return(num3); } int num4 = (int)(num - CalendricalCalculationsHelper.GetNumberOfDays(this.ToDateTime(num3, 1, 1, 0, 0, 0, 0, 1))); if (part == 1) { return(num4); } int num5 = PersianCalendar.MonthFromOrdinalDay(num4); if (part == 2) { return(num5); } int result = num4 - PersianCalendar.DaysInPreviousMonths(num5); if (part == 3) { return(result); } throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_DateTimeParsing")); }
// Token: 0x06002F75 RID: 12149 RVA: 0x000B59B8 File Offset: 0x000B3BB8 private long GetAbsoluteDatePersian(int year, int month, int day) { if (year >= 1 && year <= 9378 && month >= 1 && month <= 12) { int num = PersianCalendar.DaysInPreviousMonths(month) + day - 1; int num2 = (int)(365.242189 * (double)(year - 1)); long num3 = CalendricalCalculationsHelper.PersianNewYearOnOrBefore(PersianCalendar.PersianEpoch + (long)num2 + 180L); return(num3 + (long)num); } throw new ArgumentOutOfRangeException(null, Environment.GetResourceString("ArgumentOutOfRange_BadYearMonthDay")); }