Fixes bug of timezone value being left as -1 when ``time.tzname[0] ==
time.tzname[1] and not time.daylight`` is true when it should only when
time.daylight is true.  Tests are also fixed.

Closes bug #763047 and its cohort #763052.
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index dcc447b..ba9dde0 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -501,16 +501,17 @@
             # Since -1 is default value only need to worry about setting tz if
             # it can be something other than -1.
             found_zone = found_dict['Z'].lower()
-            if locale_time.timezone[0] == locale_time.timezone[1]:
+            if locale_time.timezone[0] == locale_time.timezone[1] and \
+               time.daylight:
                 pass #Deals with bad locale setup where timezone info is
                      # the same; first found on FreeBSD 4.4.
             elif found_zone in ("utc", "gmt"):
                 tz = 0
             elif locale_time.timezone[2].lower() == found_zone:
                 tz = 0
-            elif time.daylight:
-                if locale_time.timezone[3].lower() == found_zone:
-                    tz = 1
+            elif time.daylight and \
+                locale_time.timezone[3].lower() == found_zone:
+                tz = 1
 
     # Cannot pre-calculate datetime_date() since can change in Julian
     #calculation and thus could have different value for the day of the week