formatdate(): The calculation of the minutes part of the zone was
incorrect for "uneven" timezones.  This algorithm should work for even
timezones (e.g. America/New_York) and uneven timezones (e.g.
Australia/Adelaide and America/St_Johns).

Closes SF bug #483231.
diff --git a/Lib/email/Utils.py b/Lib/email/Utils.py
index 58fd8da..8d46096 100644
--- a/Lib/email/Utils.py
+++ b/Lib/email/Utils.py
@@ -130,7 +130,8 @@
             offset = time.altzone
         else:
             offset = time.timezone
-        zone = '%+03d%02d' % (offset / -3600, offset % 60)
+        hours, minutes = divmod(offset, -3600)
+        zone = '%+03d%02d' % (hours, minutes / -60)
     else:
         now = time.gmtime(timeval)
         # Timezone offset is always -0000