test/java/time/test/java/util/TestFormatter.java

Print this page

        

@@ -21,11 +21,11 @@
  * questions.
  */
 package test.java.util;
 
 import java.time.Instant;
-import java.time.temporal.OffsetDateTime;
+import java.time.OffsetDateTime;
 import java.time.ZonedDateTime;
 import java.time.temporal.ChronoField;
 
 import java.util.*;
 

@@ -127,53 +127,56 @@
     private void testDate(String fmtStr, Locale locale,
                                  ZonedDateTime zdt, Calendar cal) {
         printFmtStr(locale, fmtStr);
         String expected = test(fmtStr, locale, null, cal);
         test(fmtStr, locale, expected, zdt);
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
-        test(fmtStr, locale, expected, zdt.getDateTime());
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate());
-        test(fmtStr, locale, expected, zdt.getDate());
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime());
+        test(fmtStr, locale, expected, zdt.toLocalDateTime());
+        test(fmtStr, locale, expected, zdt.toLocalDate());
     }
 
     private void testTime(String fmtStr, Locale locale,
                                  ZonedDateTime zdt, Calendar cal) {
         printFmtStr(locale, fmtStr);
         String expected = test(fmtStr, locale, null, cal);
         test(fmtStr, locale, expected, zdt);
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
-        test(fmtStr, locale, expected, zdt.getDateTime());
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime());
-        test(fmtStr, locale, expected, zdt.getTime());
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime());
+        test(fmtStr, locale, expected, zdt.toLocalDateTime());
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime());
+        test(fmtStr, locale, expected, zdt.toLocalTime());
+    }
+
+    private String toZoneIdStr(String expected) {
+        return expected.replaceAll("(?:GMT|UTC)(?<off>[+\\-]?[0-9]{2}:[0-9]{2})", "${off}")
+                       .replaceAll("GMT|UTC|UT", "Z");
     }
 
     private void testZoneId(Locale locale, ZonedDateTime zdt, Calendar cal) {
         String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]";
         printFmtStr(locale, fmtStr);
-        String expected = test(fmtStr, locale, null, cal);
+        String expected = toZoneIdStr(test(fmtStr, locale, null, cal));
         test(fmtStr, locale, expected, zdt);
         // get a new cal with fixed tz
         Calendar cal0 = Calendar.getInstance();
         cal0.setTimeInMillis(zdt.toInstant().toEpochMilli());
         cal0.setTimeZone(TimeZone.getTimeZone("GMT" + zdt.getOffset().getId()));
-        expected = test(fmtStr, locale, null, cal0).replaceAll("GMT", "");
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetDate());
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt).toOffsetTime());
+        expected = toZoneIdStr(test(fmtStr, locale, null, cal0));
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime());
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime().toOffsetTime());
 
         // datetime + zid
         fmtStr = "c:[%tc] c:[%1$Tc]";
         printFmtStr(locale, fmtStr);
-        expected = test(fmtStr, locale, null, cal);
+        expected = toZoneIdStr(test(fmtStr, locale, null, cal));
         test(fmtStr, locale, expected, zdt);
     }
 
     private void testInstant(Locale locale, Instant instant,
                              ZonedDateTime zdt, Calendar cal) {
         String fmtStr = "s:[%ts] s:[%1$Ts] Q:[%1$tQ] Q:[%1$TQ]";
         printFmtStr(locale, fmtStr);
         String expected = test(fmtStr, locale, null, cal);
         test(fmtStr, locale, expected, instant);
         test(fmtStr, locale, expected, zdt);
-        test(fmtStr, locale, expected, OffsetDateTime.of(zdt));
+        test(fmtStr, locale, expected, zdt.toOffsetDateTime());
     }
 }