public static LocalDateTime parseLocalDateTime19(char[] str, int off) {
        if (off + 19 > str.length) {
            return null;
        }

        char c1 = str[off + 1];
        char c2 = str[off + 2];
        char c3 = str[off + 3];
        char c4 = str[off + 4];
        char c5 = str[off + 5];
        char c7 = str[off + 7];
        char c10 = str[off + 10];
        char c13 = str[off + 13];
        char c16 = str[off + 16];

        int year, month, dom, hour, minute, second;
        if (((c4 == '-' && c7 == '-') || (c4 == '/' && c7 == '/'))
                && (c10 == ' ' || c10 == 'T')
                && c13 == ':' && c16 == ':'
        ) {
            year = digit4(str, off);
            month = digit2(str, off + 5);
            dom = digit2(str, off + 8);
            hour = digit2(str, off + 11);
            minute = digit2(str, off + 14);
            second = digit2(str, off + 17);
        } else if (c2 == '/' && c5 == '/' && (c10 == ' ' || c10 == 'T') && c13 == ':' && c16 == ':') {
            dom = digit2(str, off);
            month = digit2(str, off + 3);
            year = digit4(str, off + 6);
            hour = digit2(str, off + 11);
            minute = digit2(str, off + 14);
            second = digit2(str, off + 17);
        } else if (c1 == ' ' && c5 == ' ' && c10 == ' ' && c13 == ':' && c16 == ':') {
            dom = digit1(str, off);
            month = DateUtils.month(c2, c3, c4);
            year = digit4(str, off + 6);
            hour = digit2(str, off + 11);
            minute = digit2(str, off + 14);
            second = digit2(str, off + 17);
        } else {
            return null;
        }

        return (year | month | dom | hour | minute | second) <= 0
                ? null
                : LocalDateTime.of(year, month, dom, hour, minute, second);
    }
yyyy-MM-ddTHH:mm:ss
yyyy-MM-dd HH:mm:ss
yyyy/MM/ddTHH:mm:ss
yyyy/MM/dd HH:mm:ss
core/src/main/java/com/alibaba/fastjson2/util/DateUtils.java