package com.google.gson.internal.bind.util; import com.mbridge.msdk.newreward.function.common.MBridgeCommon; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; /* loaded from: classes3.dex */ public class ISO8601Utils { private static final String UTC_ID = "UTC"; private static final TimeZone TIMEZONE_UTC = TimeZone.getTimeZone(UTC_ID); public static String format(Date date) { return format(date, false, TIMEZONE_UTC); } public static String format(Date date, boolean z) { return format(date, z, TIMEZONE_UTC); } public static String format(Date date, boolean z, TimeZone timeZone) { GregorianCalendar gregorianCalendar = new GregorianCalendar(timeZone, Locale.US); gregorianCalendar.setTime(date); StringBuilder sb = new StringBuilder(19 + (z ? 4 : 0) + (timeZone.getRawOffset() == 0 ? 1 : 6)); padInt(sb, gregorianCalendar.get(1), 4); sb.append('-'); padInt(sb, gregorianCalendar.get(2) + 1, 2); sb.append('-'); padInt(sb, gregorianCalendar.get(5), 2); sb.append('T'); padInt(sb, gregorianCalendar.get(11), 2); sb.append(':'); padInt(sb, gregorianCalendar.get(12), 2); sb.append(':'); padInt(sb, gregorianCalendar.get(13), 2); if (z) { sb.append('.'); padInt(sb, gregorianCalendar.get(14), 3); } int offset = timeZone.getOffset(gregorianCalendar.getTimeInMillis()); if (offset != 0) { int i = offset / MBridgeCommon.DEFAULT_LOAD_TIMEOUT; int abs = Math.abs(i / 60); int abs2 = Math.abs(i % 60); sb.append(offset >= 0 ? '+' : '-'); padInt(sb, abs, 2); sb.append(':'); padInt(sb, abs2, 2); } else { sb.append('Z'); } return sb.toString(); } /* JADX WARN: Removed duplicated region for block: B:82:0x01cf */ /* JADX WARN: Removed duplicated region for block: B:85:0x01eb */ /* JADX WARN: Removed duplicated region for block: B:90:0x01d1 */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public static java.util.Date parse(java.lang.String r19, java.text.ParsePosition r20) throws java.text.ParseException { /* Method dump skipped, instructions count: 565 To view this dump add '--comments-level debug' option */ throw new UnsupportedOperationException("Method not decompiled: com.google.gson.internal.bind.util.ISO8601Utils.parse(java.lang.String, java.text.ParsePosition):java.util.Date"); } private static boolean checkOffset(String str, int i, char c) { return i < str.length() && str.charAt(i) == c; } private static int parseInt(String str, int i, int i2) throws NumberFormatException { int i3; int i4; if (i < 0 || i2 > str.length() || i > i2) { throw new NumberFormatException(str); } if (i < i2) { i4 = i + 1; int digit = Character.digit(str.charAt(i), 10); if (digit < 0) { throw new NumberFormatException("Invalid number: " + str.substring(i, i2)); } i3 = -digit; } else { i3 = 0; i4 = i; } while (i4 < i2) { int i5 = i4 + 1; int digit2 = Character.digit(str.charAt(i4), 10); if (digit2 < 0) { throw new NumberFormatException("Invalid number: " + str.substring(i, i2)); } i3 = (i3 * 10) - digit2; i4 = i5; } return -i3; } private static void padInt(StringBuilder sb, int i, int i2) { String num = Integer.toString(i); for (int length = i2 - num.length(); length > 0; length--) { sb.append('0'); } sb.append(num); } private static int indexOfNonDigit(String str, int i) { while (i < str.length()) { char charAt = str.charAt(i); if (charAt < '0' || charAt > '9') { return i; } i++; } return str.length(); } }