code: def ListTimeZones(self):
      
      max_length = 0
      for timezone_name in pytz.all_timezones:
        if len(timezone_name) > max_length:
          max_length = len(timezone_name)
  
      utc_date_time = datetime.datetime.utcnow()
  
      table_view = views.ViewsFactory.GetTableView(
          self._views_format_type, column_names=['Timezone', 'UTC Offset'],
          title='Zones')
      for timezone_name in pytz.all_timezones:
        try:
          local_timezone = pytz.timezone(timezone_name)
        except AssertionError as exception:
          logger.error((
              'Unable to determine information about timezone: {0:s} with '
              'error: {1!s}').format(timezone_name, exception))
          continue
  
        local_date_string = '{0!s}'.format(
            local_timezone.localize(utc_date_time))
        if '+' in local_date_string:
          _, _, diff = local_date_string.rpartition('+')
          diff_string = '+{0:s}'.format(diff)
        else:
          _, _, diff = local_date_string.rpartition('-')
          diff_string = '-{0:s}'.format(diff)
  
        table_view.AddRow([timezone_name, diff_string])
  
      table_view.Write(self._output_writer)
docs: Lists the timezones.