// Token: 0x060015EC RID: 5612 RVA: 0x000411D8 File Offset: 0x0003F3D8 internal static string Format(DateTime dateTime, string format, DateTimeFormatInfo dtfi, TimeSpan offset) { if (format == null || format.Length == 0) { bool flag = false; if (dateTime.Ticks < 864000000000L) { int id = dtfi.Calendar.ID; switch (id) { case 3: case 4: case 6: case 8: break; case 5: case 7: goto IL_63; default: if (id != 13 && id - 22 > 1) { goto IL_63; } break; } flag = true; dtfi = DateTimeFormatInfo.InvariantInfo; } IL_63: if (offset == DateTimeFormat.NullOffset) { if (flag) { format = "s"; } else { format = "G"; } } else if (flag) { format = "yyyy'-'MM'-'ddTHH':'mm':'ss zzz"; } else { format = dtfi.DateTimeOffsetPattern; } } if (format.Length == 1) { char c = format[0]; if (c <= 'R') { if (c != 'O') { if (c != 'R') { goto IL_E2; } goto IL_D4; } } else if (c != 'o') { if (c != 'r') { goto IL_E2; } goto IL_D4; } return(StringBuilderCache.GetStringAndRelease(DateTimeFormat.FastFormatRoundtrip(dateTime, offset))); IL_D4: return(StringBuilderCache.GetStringAndRelease(DateTimeFormat.FastFormatRfc1123(dateTime, offset, dtfi))); IL_E2: format = DateTimeFormat.ExpandPredefinedFormat(format, ref dateTime, ref dtfi, ref offset); } return(DateTimeFormat.FormatCustomized(dateTime, format, dtfi, offset)); }