int year = Integer.parseInt(str.substring(0, 4)); int month = Integer.parseInt(str.substring(5, 7)); int date = Integer.parseInt(str.substring(8, 10));  int hour = Integer.parseInt(str.substring(11, 13)); int min = Integer.parseInt(str.substring(14, 16)); int sec; int ms; if (str.charAt(18) == '.') { sec = Integer.parseInt(str.substring(17, 18)); ms = Integer.parseInt(str.substring(19, 22)); } else { sec = Integer.parseInt(str.substring(17, 19)); ms = Integer.parseInt(str.substring(20, 23)); }  CALENDAR.clear(); CALENDAR.set(year, month - 1, date, hour, min, sec); CALENDAR.set(Calendar.MILLISECOND, ms); return CALENDAR.getTime();
return new Date(parseDateAsLong(str));
    public static Date parseDate(String str) {        if (str == null) {            return NULL;        }        try {            int year = Integer.parseInt(str.substring(0, 4));            int month = Integer.parseInt(str.substring(5, 7));            int date = Integer.parseInt(str.substring(8, 10));            int hour = Integer.parseInt(str.substring(11, 13));            int min = Integer.parseInt(str.substring(14, 16));            int sec;            int ms;            if (str.charAt(18) == '.') {                sec = Integer.parseInt(str.substring(17, 18));                ms = Integer.parseInt(str.substring(19, 22));            } else {                sec = Integer.parseInt(str.substring(17, 19));                ms = Integer.parseInt(str.substring(20, 23));            }            CALENDAR.clear();            CALENDAR.set(year, month - 1, date, hour, min, sec);            CALENDAR.set(Calendar.MILLISECOND, ms);            return CALENDAR.getTime();        } catch (Throwable th) {            //        }        return NULL;    }