def Z(self):
    """
    Time zone offset in seconds (i.e. '-43200' to '43200'). The offset for
    timezones west of UTC is always negative, and for those east of UTC is
    always positive.
    """
    if not self.timezone:
      return 0
    offset = self.timezone.utcoffset(self.data)
    # Only days can be negative, so negative offsets have days=-1 and
    # seconds positive. Positive offsets have days=0
    return offset.days * 86400 + offset.seconds