Ignoring AM abbreviation leads to wrong processing the 12th hour.

**Bug reproducing**
```sql
SELECT
    parseDateTimeBestEffort('2020-02-01 12:10:00 AM') AS am,
    parseDateTimeBestEffort('2020-02-01 12:10:00 PM') AS pm

┌──────────────────am─┬──────────────────pm─┐
│ 2020-02-01 12:10:00 │ 2020-02-01 12:10:00 │
└─────────────────────┴─────────────────────┘
```

**Expected behavior**
```sql
┌──────────────────am─┬──────────────────pm─┐
│ 2020-02-01 00:10:00 │ 2020-02-01 12:10:00 │
└─────────────────────┴─────────────────────┘
```
{
                        readDecimalNumber<1>(time_zone_offset_minute, digits);
                    }
                    else
                        return on_error("Cannot read DateTime: unexpected number of decimal digits for time zone offset in minutes: " + toString(num_digits), ErrorCodes::CANNOT_PARSE_DATETIME);
                }
            }
            else
            {
                char alpha[3];
                size_t num_alpha = readAlpha(alpha, sizeof(alpha), in);
                if (!num_alpha)
                {
                    break;
                }
                else if (num_alpha == 1)
                {
                    return on_error("Cannot read DateTime: unexpected alphabetical character", ErrorCodes::CANNOT_PARSE_DATETIME);
                }
                else if (num_alpha == 2)
                {
                    if (alpha[1] == 'M' || alpha[1] == 'm')
                    {
                        if (alpha[0] == 'A' || alpha[0] == 'a')
                        {
                        }
                        else if (alpha[0] == 'P' || alpha[0] == 'p')
                        {
                            is_pm = true;
                        }