// 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"));
}