in sdk/core/azure-core/src/main/java/com/azure/android/core/util/DateTimeRfc1123.java [120:155]
private static int parseMonth(final CharSequence date, final int beginIndex) {
switch (date.charAt(beginIndex)) {
case 'J':
// Jan, Jun, Jul
switch (date.charAt(beginIndex + 1)) {
case 'a': return 1; // Jan
case 'u':
switch (date.charAt(beginIndex + 2)) {
case 'n': return 6; // Jun
case 'l': return 7; // Jul
default: throw new IllegalArgumentException("Unknown month " + date);
}
default: throw LOGGER.logExceptionAsError(new IllegalArgumentException("Unknown month " + date));
}
case 'F': return 2; // Feb
case 'M':
// Mar, May
switch (date.charAt(beginIndex + 2)) {
case 'r': return 3; // Mar
case 'y': return 5; // May
default: throw LOGGER.logExceptionAsError(new IllegalArgumentException("Unknown month " + date));
}
case 'A':
// Apr, Aug
switch (date.charAt(beginIndex + 2)) {
case 'r': return 4; // Apr
case 'g': return 8; // Aug
default: throw LOGGER.logExceptionAsError(new IllegalArgumentException("Unknown month " + date));
}
case 'S': return 9; //Sep
case 'O': return 10; // Oct
case 'N': return 11; // Nov
case 'D': return 12; // Dec
default: throw LOGGER.logExceptionAsError(new IllegalArgumentException("Unknown month " + date));
}
}