DateUtils { public static String formatISO8601Date(Date date) { try { return iso8601DateFormat.print(date.getTime()); } catch(RuntimeException ex) { throw handleException(ex); } }  static Date parseISO8601Date(String dateString); static String formatISO8601Date(Date date); static String formatISO8601Date(DateTime date); static Date parseRFC822Date(String dateString); static String formatRFC822Date(Date date); static Date parseCompressedISO8601Date(String dateString); static Date parseServiceSpecificDate(String dateString); static Date parseUnixTimestampInMillis(String dateString); static String formatServiceSpecificDate(Date date); static String formatUnixTimestampInMills(Date date); static Date cloneDate(Date date); static long numberOfDaysSinceEpoch(long milliSinceEpoch);  }
@Test public void formatIso8601Date() throws ParseException { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); sdf.setTimeZone(new SimpleTimeZone(0, "GMT")); String expected = sdf.format(date); String actual = DateUtils.formatISO8601Date(date); assertEquals(expected, actual); Date expectedDate = sdf.parse(expected); Date actualDate = DateUtils.parseISO8601Date(actual); assertEquals(expectedDate, actualDate); }
@Test public void test() throws ParseException { Date date = new Date(); System.out.println(" formatISO8601Date: " + DateUtils.formatISO8601Date(date)); System.out.println("alternateIso8601DateFormat: " + DateUtils.alternateIso8601DateFormat.print(date.getTime())); }