Files
2026-06-04 11:42:34 +02:00

134 lines
3.6 KiB
C#

using System;
namespace System.Globalization
{
// Token: 0x0200016E RID: 366
internal class CCJulianCalendar
{
// Token: 0x060011DF RID: 4575 RVA: 0x000466B0 File Offset: 0x000448B0
public static bool is_leap_year(int year)
{
return CCMath.mod(year, 4) == ((year <= 0) ? 3 : 0);
}
// Token: 0x060011E0 RID: 4576 RVA: 0x000466CC File Offset: 0x000448CC
public static int fixed_from_dmy(int day, int month, int year)
{
int num = ((year >= 0) ? year : (year + 1));
int num2 = -2;
num2 += 365 * (num - 1);
num2 += CCMath.div(num - 1, 4);
num2 += CCMath.div(367 * month - 362, 12);
if (month > 2)
{
num2 += ((!CCJulianCalendar.is_leap_year(year)) ? (-2) : (-1));
}
return num2 + day;
}
// Token: 0x060011E1 RID: 4577 RVA: 0x00046740 File Offset: 0x00044940
public static int year_from_fixed(int date)
{
int num = CCMath.div(4 * (date - -1) + 1464, 1461);
return (num > 0) ? num : (num - 1);
}
// Token: 0x060011E2 RID: 4578 RVA: 0x00046774 File Offset: 0x00044974
public static void my_from_fixed(out int month, out int year, int date)
{
year = CCJulianCalendar.year_from_fixed(date);
int num = date - CCJulianCalendar.fixed_from_dmy(1, 1, year);
int num2;
if (date < CCJulianCalendar.fixed_from_dmy(1, 3, year))
{
num2 = 0;
}
else if (CCJulianCalendar.is_leap_year(year))
{
num2 = 1;
}
else
{
num2 = 2;
}
month = CCMath.div(12 * (num + num2) + 373, 367);
}
// Token: 0x060011E3 RID: 4579 RVA: 0x000467D8 File Offset: 0x000449D8
public static void dmy_from_fixed(out int day, out int month, out int year, int date)
{
CCJulianCalendar.my_from_fixed(out month, out year, date);
day = date - CCJulianCalendar.fixed_from_dmy(1, month, year) + 1;
}
// Token: 0x060011E4 RID: 4580 RVA: 0x000467F4 File Offset: 0x000449F4
public static int month_from_fixed(int date)
{
int num;
int num2;
CCJulianCalendar.my_from_fixed(out num, out num2, date);
return num;
}
// Token: 0x060011E5 RID: 4581 RVA: 0x0004680C File Offset: 0x00044A0C
public static int day_from_fixed(int date)
{
int num;
int num2;
int num3;
CCJulianCalendar.dmy_from_fixed(out num, out num2, out num3, date);
return num;
}
// Token: 0x060011E6 RID: 4582 RVA: 0x00046828 File Offset: 0x00044A28
public static int date_difference(int dayA, int monthA, int yearA, int dayB, int monthB, int yearB)
{
return CCJulianCalendar.fixed_from_dmy(dayB, monthB, yearB) - CCJulianCalendar.fixed_from_dmy(dayA, monthA, yearA);
}
// Token: 0x060011E7 RID: 4583 RVA: 0x00046840 File Offset: 0x00044A40
public static int day_number(int day, int month, int year)
{
return CCJulianCalendar.date_difference(31, 12, year - 1, day, month, year);
}
// Token: 0x060011E8 RID: 4584 RVA: 0x00046854 File Offset: 0x00044A54
public static int days_remaining(int day, int month, int year)
{
return CCJulianCalendar.date_difference(day, month, year, 31, 12, year);
}
// Token: 0x0400047D RID: 1149
private const int epoch = -1;
// Token: 0x0200016F RID: 367
public enum Month
{
// Token: 0x0400047F RID: 1151
january = 1,
// Token: 0x04000480 RID: 1152
february,
// Token: 0x04000481 RID: 1153
march,
// Token: 0x04000482 RID: 1154
april,
// Token: 0x04000483 RID: 1155
may,
// Token: 0x04000484 RID: 1156
june,
// Token: 0x04000485 RID: 1157
july,
// Token: 0x04000486 RID: 1158
august,
// Token: 0x04000487 RID: 1159
september,
// Token: 0x04000488 RID: 1160
october,
// Token: 0x04000489 RID: 1161
november,
// Token: 0x0400048A RID: 1162
december
}
}
}