Fix flakiness in DateIntervalFormatTest.

Bug: https://code.google.com/p/android/issues/detail?id=62139
Change-Id: I3e1f5d64e432b1fa7b701ba285ffcb73ca81cc6c
diff --git a/luni/src/test/java/libcore/icu/DateIntervalFormatTest.java b/luni/src/test/java/libcore/icu/DateIntervalFormatTest.java
index 320b178..9256ba7 100644
--- a/luni/src/test/java/libcore/icu/DateIntervalFormatTest.java
+++ b/luni/src/test/java/libcore/icu/DateIntervalFormatTest.java
@@ -32,27 +32,33 @@
   private static final long MONTH = 31 * DAY;
   private static final long YEAR = 12 * MONTH;
 
+  // These are the old CTS tests for DateIntervalFormat.formatDateRange.
   public void test_formatDateInterval() throws Exception {
-    Date date = new Date(109, 0, 19, 3, 30, 15);
-    long fixedTime = date.getTime();
+    TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
 
-    int currentYear = Calendar.getInstance().get(Calendar.YEAR);
-    Date dateWithCurrentYear = new Date(currentYear - 1900, 0, 19, 3, 30, 15);
-    long timeWithCurrentYear = dateWithCurrentYear.getTime();
+    Calendar c = Calendar.getInstance(tz);
+    c.set(Calendar.MONTH, Calendar.JANUARY);
+    c.set(Calendar.DAY_OF_MONTH, 19);
+    c.set(Calendar.HOUR_OF_DAY, 3);
+    c.set(Calendar.MINUTE, 30);
+    c.set(Calendar.SECOND, 15);
+    long timeWithCurrentYear = c.getTimeInMillis();
+
+    c.set(Calendar.YEAR, 2009);
+    long fixedTime = c.getTimeInMillis();
+
+    c.set(Calendar.MINUTE, 0);
+    c.set(Calendar.SECOND, 0);
+    long onTheHour = c.getTimeInMillis();
 
     long noonDuration = (8 * 60 + 30) * 60 * 1000 - 15 * 1000;
     long midnightDuration = (3 * 60 + 30) * 60 * 1000 + 15 * 1000;
-    long integralDuration = 30 * 60 * 1000 + 15 * 1000;
-
-    // These are the old CTS tests for DateIntervalFormat.formatDateRange.
 
     Locale de_DE = new Locale("de", "DE");
     Locale en_US = new Locale("en", "US");
     Locale es_ES = new Locale("es", "ES");
     Locale es_US = new Locale("es", "US");
 
-    TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
-
     assertEquals("Monday", formatDateRange(en_US, tz, fixedTime, fixedTime + HOUR, FORMAT_SHOW_WEEKDAY));
     assertEquals("January 19", formatDateRange(en_US, tz, timeWithCurrentYear, timeWithCurrentYear + HOUR, FORMAT_SHOW_DATE));
     assertEquals("3:30 AM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_SHOW_TIME));
@@ -67,7 +73,7 @@
     assertEquals("12:00 PM", formatDateRange(en_US, tz, fixedTime + noonDuration, fixedTime + noonDuration, FORMAT_12HOUR /*| FORMAT_NO_NOON*/ | FORMAT_SHOW_TIME));
     assertEquals("12:00 AM", formatDateRange(en_US, tz, fixedTime - midnightDuration, fixedTime - midnightDuration, FORMAT_12HOUR | FORMAT_SHOW_TIME /*| FORMAT_NO_MIDNIGHT*/));
     assertEquals("3:30 AM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_SHOW_TIME | FORMAT_UTC));
-    assertEquals("3 AM", formatDateRange(en_US, tz, fixedTime - integralDuration, fixedTime - integralDuration, FORMAT_SHOW_TIME | FORMAT_ABBREV_TIME));
+    assertEquals("3 AM", formatDateRange(en_US, tz, onTheHour, onTheHour, FORMAT_SHOW_TIME | FORMAT_ABBREV_TIME));
     assertEquals("Mon", formatDateRange(en_US, tz, fixedTime, fixedTime + HOUR, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_WEEKDAY));
     assertEquals("Jan 19", formatDateRange(en_US, tz, timeWithCurrentYear, timeWithCurrentYear + HOUR, FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH));
     assertEquals("Jan 19", formatDateRange(en_US, tz, timeWithCurrentYear, timeWithCurrentYear + HOUR, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL));
@@ -166,8 +172,11 @@
   public void test8862241() throws Exception {
     Locale l = Locale.US;
     TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
-    long jan_19_2042 = new Date(2042 - 1900, 0, 19, 3, 30, 15).getTime();
-    long oct_4_2046 = new Date(2046 - 1900, 9, 4, 3, 30, 15).getTime();
+    Calendar c = Calendar.getInstance(tz);
+    c.set(2042, Calendar.JANUARY, 19, 3, 30);
+    long jan_19_2042 = c.getTimeInMillis();
+    c.set(2046, Calendar.OCTOBER, 4, 3, 30);
+    long oct_4_2046 = c.getTimeInMillis();
     int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL;
     assertEquals("Jan 19, 2042 – Oct 4, 2046", formatDateRange(l, tz, jan_19_2042, oct_4_2046, flags));
   }