code: def sorted_timezones():
      def hourmin(delta):
          if delta.days < 0:
              hours, remaining = divmod(86400 - delta.seconds, 3600)
          else:
              hours, remaining = divmod(delta.seconds, 3600)
          minutes, remaining = divmod(remaining, 60)
          return hours, minutes
      now = datetime.utcnow()
      timezone_country = {}
      for countrycode in pytz.country_timezones:
          for timezone in pytz.country_timezones[countrycode]:
              timezone_country[timezone] = countrycode
      timezones = [(pytz.timezone(tzname).utcoffset(now, is_dst=False), tzname) for tzname in pytz.common_timezones
          if not tzname.startswith('US/') and not tzname.startswith('Canada/') and tzname not in ('GMT', 'UTC')]
      presorted = [(delta, '%s%s - %s%s (%s)' % (
          (delta.days < 0 and '-') or (delta.days == 0 and delta.seconds == 0 and ' ') or '+',
          '%02d:%02d' % hourmin(delta),
          (pytz.country_names[timezone_country[name]] + ': ') if name in timezone_country else '',
          name.replace('_', ' '),
          pytz.timezone(name).tzname(now, is_dst=False)), name) for delta, name in timezones]
      presorted.sort()
      return [(name, label) for (delta, label, name) in presorted]