code: public static Date parse(String dateString) throws ParseException {
          Integer year = Integer.parseInt(dateString.substring(0, 4));
          Integer month = Integer.parseInt(dateString.substring(5, 7)) -1; //months start from 0
          Integer day = Integer.parseInt(dateString.substring(8, 10));
          Integer hour = Integer.parseInt(dateString.substring(11, 13));
          Integer minute = Integer.parseInt(dateString.substring(14, 16));
          Integer second = Integer.parseInt(dateString.substring(17, 19));
          String timeZoneHourOffset = dateString.substring(19);
          Calendar calendar = GregorianCalendar.getInstance(getTimeZone(timeZoneHourOffset));
          calendar.set(Calendar.MILLISECOND, 0);
          calendar.set(year, month, day, hour, minute, second);
          return calendar.getTime();
      }
docs: Parses a date string returned by the Box API into a {@link java.util.Date} object.
  @param  dateString     a string containing the date.
  @return                the parsed date.
  @throws java.text.ParseException if the string cannot be parsed into a valid date.