<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def timestring(self, pattern="%Y-%m-%d %H:%M:%S", timezone=None):
 """Returns a time string. :param pattern = "%Y-%m-%d %H:%M:%S" The format used. By default, an ISO-type format is used. The syntax here is identical to the one used by time.strftime() and time.strptime(). :param timezone = self.timezone The timezone (in seconds west of UTC) to return the value in. By default, the timezone used when constructing the class is used (local one by default). To use UTC, use timezone = 0. To use the local tz, use timezone = chronyk.LOCALTZ. """

        if timezone is None:
            timezone = self.timezone
        timestamp = self.__timestamp__ - timezone
        timestamp -= LOCALTZ
        return _strftime(pattern, _gmtime(timestamp))