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