### Question:
KMLSpatialTemporalUtils { static synchronized Date parseDateString(final String dateString) { Date date = null; if (!StringUtils.isBlank(dateString)) { Matcher m = KML_TIME_PATTERN.matcher(dateString.trim()); if (m.matches()) { Calendar calendar = getCalendarFromMatcher(m); date = calendar.getTime(); } } return date; } private  KMLSpatialTemporalUtils(); static GeographicBoundingBox caclulateGeographicBoundingBox(LatLonAltBox latLonAltBox); static GeographicBoundingBox calculateGeographicBoundingBox(LatLonBox latLonBox); static ScreenBoundingBox calculateScreenBoundingBox(ScreenOverlay screenOverlay, Image image, Viewer viewer,
            ToolbarManager toolbarManager); static double calculateX(Vec2 vec, double width); static double calculateY(Vec2 vec, double height); static Color convertColor(String kmlColor); static List<LatLonAlt> convertCoordinates(List<Coordinate> coordinates, AltitudeMode altitudeMode); static LatLonAlt convertLookAt(LookAt lookAt); static Date getExpireTime(String networkLinkControlExpires, String cacheControlHeader, String expiresHeader); static TimeConstraint getTimeConstraint(KMLFeature feature); static TimeExtents getTimeExtents(final Collection<KMLFeature> features); static io.opensphere.core.model.time.TimeSpan timeSpanFromTimePrimitive(TimePrimitive timePrimitive); static TimePrimitive timeSpanToTimePrimitive(io.opensphere.core.model.time.TimeSpan time); static LatLonAlt getLatLonAlt(Location loc, AltitudeMode altitudeMode);  }### Answer:
@Test public void testFullLocalTime() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-01-05T07:00:00+03:00"); Date expected = getDate(2011, 1, 5, 4, 0, 0); Assert.assertEquals(expected, actual); }
@Test public void testFullZulu() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-01-04T06:00:00Z"); Date expected = getDate(2011, 1, 4, 6, 0, 0); Assert.assertEquals(expected, actual); }
@Test public void testMillis() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-01-04T06:00:00.381406Z"); Date expected = getDate(2011, 1, 4, 6, 0, 0, 381); Assert.assertEquals(expected, actual); }
@Test public void testMillisFullLocalTime() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-01-05T07:00:00.381406+03:00"); Date expected = getDate(2011, 1, 5, 4, 0, 0, 381); Assert.assertEquals(expected, actual); }
@Test public void testYear() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011"); Date expected = getDate(2011, 1, 1, 0, 0, 0); Assert.assertEquals(expected, actual); }
@Test public void testYearMonth() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-02"); Date expected = getDate(2011, 2, 1, 0, 0, 0); Assert.assertEquals(expected, actual); }
@Test public void testYearMonthDay() { Date actual = KMLSpatialTemporalUtils.parseDateString("2011-02-03"); Date expected = getDate(2011, 2, 3, 0, 0, 0); Assert.assertEquals(expected, actual); }