Пример #1
0
    // Token: 0x060005E2 RID: 1506 RVA: 0x000294B0 File Offset: 0x000276B0
    private static bool smethod_19(Struct8 struct8_0, out long long_1, out TimeSpan timeSpan_0, out DateTimeKind dateTimeKind_0)
    {
        dateTimeKind_0 = DateTimeKind.Utc;
        int num = struct8_0.smethod_0('+', 7, struct8_0.method_2() - 8);

        if (num == -1)
        {
            num = struct8_0.smethod_0('-', 7, struct8_0.method_2() - 8);
        }
        if (num != -1)
        {
            dateTimeKind_0 = DateTimeKind.Local;
            if (!Class25.smethod_23(struct8_0, num + struct8_0.method_1(), out timeSpan_0))
            {
                long_1 = 0L;
                return(false);
            }
        }
        else
        {
            timeSpan_0 = TimeSpan.Zero;
            num        = struct8_0.method_2() - 2;
        }
        return(Class23.smethod_15(struct8_0.method_0(), 6 + struct8_0.method_1(), num - 6, out long_1) == (Enum4)1);
    }
Пример #2
0
    // Token: 0x060005DB RID: 1499 RVA: 0x00028E4C File Offset: 0x0002704C
    internal static bool smethod_12(Struct8 struct8_0, DateTimeZoneHandling dateTimeZoneHandling_0, out DateTime dateTime_0)
    {
        Struct5 @struct = default(Struct5);

        if ([email protected]_0(struct8_0.method_0(), struct8_0.method_1(), struct8_0.method_2()))
        {
            dateTime_0 = default(DateTime);
            return(false);
        }
        DateTime dateTime_ = Class25.smethod_14(@struct);

        switch (@struct.enum6_0)
        {
        case (Enum6)1:
            dateTime_ = new DateTime(dateTime_.Ticks, DateTimeKind.Utc);
            break;

        case (Enum6)2:
        {
            TimeSpan timeSpan = new TimeSpan(@struct.int_7, @struct.int_8, 0);
            long     num      = dateTime_.Ticks + timeSpan.Ticks;
            if (num <= DateTime.MaxValue.Ticks)
            {
                dateTime_ = new DateTime(num, DateTimeKind.Utc).ToLocalTime();
            }
            else
            {
                num += dateTime_.smethod_0().Ticks;
                if (num > DateTime.MaxValue.Ticks)
                {
                    num = DateTime.MaxValue.Ticks;
                }
                dateTime_ = new DateTime(num, DateTimeKind.Local);
            }
            break;
        }

        case (Enum6)3:
        {
            TimeSpan timeSpan2 = new TimeSpan(@struct.int_7, @struct.int_8, 0);
            long     num       = dateTime_.Ticks - timeSpan2.Ticks;
            if (num >= DateTime.MinValue.Ticks)
            {
                dateTime_ = new DateTime(num, DateTimeKind.Utc).ToLocalTime();
            }
            else
            {
                num += dateTime_.smethod_0().Ticks;
                if (num < DateTime.MinValue.Ticks)
                {
                    num = DateTime.MinValue.Ticks;
                }
                dateTime_ = new DateTime(num, DateTimeKind.Local);
            }
            break;
        }
        }
        dateTime_0 = Class25.smethod_2(dateTime_, dateTimeZoneHandling_0);
        return(true);
    }
Пример #3
0
    // Token: 0x060005E7 RID: 1511 RVA: 0x00029678 File Offset: 0x00027878
    private static bool smethod_23(Struct8 struct8_0, int int_2, out TimeSpan timeSpan_0)
    {
        bool flag = struct8_0[int_2] == '-';
        int  num;

        if (Class23.smethod_14(struct8_0.method_0(), int_2 + 1, 2, out num) != (Enum4)1)
        {
            timeSpan_0 = default(TimeSpan);
            return(false);
        }
        int num2 = 0;

        if (struct8_0.method_2() - int_2 > 5 && Class23.smethod_14(struct8_0.method_0(), int_2 + 3, 2, out num2) != (Enum4)1)
        {
            timeSpan_0 = default(TimeSpan);
            return(false);
        }
        timeSpan_0 = TimeSpan.FromHours((double)num) + TimeSpan.FromMinutes((double)num2);
        if (flag)
        {
            timeSpan_0 = timeSpan_0.Negate();
        }
        return(true);
    }
Пример #4
0
    // Token: 0x060005DC RID: 1500 RVA: 0x00028FE0 File Offset: 0x000271E0
    internal static bool smethod_13(Struct8 struct8_0, out DateTimeOffset dateTimeOffset_0)
    {
        Struct5 @struct = default(Struct5);

        if ([email protected]_0(struct8_0.method_0(), struct8_0.method_1(), struct8_0.method_2()))
        {
            dateTimeOffset_0 = default(DateTimeOffset);
            return(false);
        }
        DateTime dateTime = Class25.smethod_14(@struct);
        TimeSpan utcOffset;

        switch (@struct.enum6_0)
        {
        case (Enum6)1:
            utcOffset = new TimeSpan(0L);
            break;

        case (Enum6)2:
            utcOffset = new TimeSpan([email protected]_7, [email protected]_8, 0);
            break;

        case (Enum6)3:
            utcOffset = new TimeSpan(@struct.int_7, @struct.int_8, 0);
            break;

        default:
            utcOffset = TimeZoneInfo.Local.GetUtcOffset(dateTime);
            break;
        }
        long num = dateTime.Ticks - utcOffset.Ticks;

        if (num >= 0L && num <= 3155378975999999999L)
        {
            dateTimeOffset_0 = new DateTimeOffset(dateTime, utcOffset);
            return(true);
        }
        dateTimeOffset_0 = default(DateTimeOffset);
        return(false);
    }