### Question:
HL7Util { public static Date parseHL7Time(String s) throws HL7Exception { String timeZoneOffset = getTimeZoneOffset(s, new Date()); s = s.replace(timeZoneOffset, ""); StringBuilder timeString = new StringBuilder(); if (s.length() < 2 || s.length() > 16) { throw new HL7Exception("Invalid time format '" + s + "'"); } timeString.append(s.substring(0, 2)); if (s.length() >= 4) { timeString.append(s.substring(2, 4)); } else { timeString.append("00"); } if (s.length() >= 6) { timeString.append(s.substring(4, 6)); } else { timeString.append("00"); } if (s.length() >= 7 && s.charAt(6) != '.') { throw new HL7Exception("Invalid time format '" + s + "'"); } else { timeString.append("."); } if (s.length() >= 8) { timeString.append(s.substring(7, 8)); } else { timeString.append("0"); } if (s.length() >= 9) { timeString.append(s.substring(8, 9)); } else { timeString.append("0"); } if (s.length() >= 10) { timeString.append(s.subSequence(9, 10)); } else { timeString.append("0"); } timeString.append(timeZoneOffset); Date date; try { date = new SimpleDateFormat(TIME_FORMAT).parse(timeString.toString()); } catch (ParseException e) { throw new HL7Exception("Invalid time format: '" + s + "' [" + timeString + "]", e); } return date; } private  HL7Util(); static Date parseHL7Timestamp(String s); static Date parseHL7Date(String s); static Date parseHL7Time(String s); static File getHl7ArchivesDirectory(); static final String LOCAL_TIMEZONE_OFFSET; }### Answer:
@Test @SuppressWarnings("deprecation") public void parseHL7Time_shouldHandle0615() throws HL7Exception { TimeZone originalTimeZone = TimeZone.getDefault(); TimeZone.setDefault(TimeZone.getTimeZone("EAT")); Date parsedDate = HL7Util.parseHL7Time("0615"); Assert.assertEquals(6, parsedDate.getHours()); Assert.assertEquals(15, parsedDate.getMinutes()); TimeZone.setDefault(originalTimeZone); }