Fix java.util.Formatter "%tz".

Found by jtreg.
diff --git a/libcore/luni/src/main/java/java/util/Formatter.java b/libcore/luni/src/main/java/java/util/Formatter.java
index 0e9b3d2..54e1b51 100644
--- a/libcore/luni/src/main/java/java/util/Formatter.java
+++ b/libcore/luni/src/main/java/java/util/Formatter.java
@@ -2465,13 +2465,15 @@
         }
 
         private void transform_z() {
-            int zoneOffset = calendar.get(Calendar.ZONE_OFFSET);
-            zoneOffset /= 3600000;
-            zoneOffset *= 100;
-            if (zoneOffset >= 0) {
-                result.append('+');
+            long offset = calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET);
+            char sign = '+';
+            if (offset < 0) {
+                sign = '-';
+                offset = -offset;
             }
-            result.append(paddingZeros(zoneOffset, 4));
+            result.append(sign);
+            result.append(paddingZeros(offset / 3600000, 2));
+            result.append(paddingZeros((offset % 3600000) / 60000, 2));
         }
 
         private void transform_p(boolean isLowerCase) {