**Describe the issue**
```
milovidov-desktop :) SELECT parseDateTimeBestEffort('20220101-010203')

SELECT parseDateTimeBestEffort('20220101-010203')


0 rows in set. Elapsed: 0.153 sec. 

Received exception:
Code: 41. DB::Exception: Cannot read DateTime: unexpected number of decimal digits for time zone offset: 6: While processing parseDateTimeBestEffort('20220101-010203'). (CANNOT_PARSE_DATETIME)
```
else if (0 == strncasecmp(alpha, "Oct", 3)) month = 10;
        else if (0 == strncasecmp(alpha, "Nov", 3)) month = 11;
        else if (0 == strncasecmp(alpha, "Dec", 3)) month = 12;
        else
            return false;
        return true;
    };
    while (!in.eof())
    {
        char digits[std::numeric_limits<UInt64>::digits10];
        size_t num_digits = 0;
        if (!year || !has_time)
        {
            num_digits = readDigits(digits, sizeof(digits), in);
            if (num_digits == 13 && !year && !has_time)
            {
                
                readDecimalNumber<10>(res, digits);
                if (fractional)
                {
                    fractional->digits = 3;
                    readDecimalNumber<3>(fractional->value, digits + 10);
                }
                return ReturnType(true);
            }
            else if (num_digits == 10 && !year && !has_time)
            {
                
                readDecimalNumber<10>(res, digits);
                return ReturnType(true);