def set_time_zone(self, item):
<EOL>i3s_time = item["<STR_LIT>"].encode("<STR_LIT>", "<STR_LIT:replace>")<EOL>try:<EOL><INDENT>i3s_time = i3s_time.decode()<EOL><DEDENT>except:  <EOL><INDENT>pass<EOL><DEDENT>parts = i3s_time.split()<EOL>i3s_datetime = "<STR_LIT:U+0020>".join(parts[:<NUM_LIT:2>])<EOL>if len(parts) < <NUM_LIT:3>:<EOL><INDENT>return True<EOL><DEDENT>else:<EOL><INDENT>i3s_time_tz = parts[<NUM_LIT:2>]<EOL><DEDENT>date = datetime.strptime(i3s_datetime, TIME_FORMAT)<EOL>utcnow = datetime.utcnow()<EOL>delta = datetime(<EOL>date.year, date.month, date.day, date.hour, date.minute<EOL>) - datetime(utcnow.year, utcnow.month, utcnow.day, utcnow.hour, utcnow.minute)<EOL>try:<EOL><INDENT>self.tz = Tz(i3s_time_tz, delta)<EOL><DEDENT>except ValueError:<EOL><INDENT>return False<EOL><DEDENT>return True<EOL>
Work out the time zone and create a shim tzinfo.

We return True if all is good or False if there was an issue and we
need to re check the time zone.  see issue #1375