'Format the given UTC value as a string representing that time in the
local timezone.
By default it\'s formatted as an ISO8601-like string (ISO8601 date and
ISO8601 time separated by a space). It can be customized using the
C{timeFormat} attribute, which will be used as input for the underlying
L{datetime.datetime.strftime} call.
@type when: C{int}
@param when: POSIX (ie, UTC) timestamp for which to find the offset.
@rtype: C{str}'

def formatTime(self, when):

    if (self.timeFormat is not None):
        return datetime.fromtimestamp(when).strftime(self.timeFormat)
    tzOffset = (- self.getTimezoneOffset(when))
    when = datetime.utcfromtimestamp((when + tzOffset))
    tzHour = abs(int(((tzOffset / 60) / 60)))
    tzMin = abs(int(((tzOffset / 60) % 60)))
    if (tzOffset < 0):
        tzSign = '-'
    else:
        tzSign = '+'
    return ('%d-%02d-%02d    %02d:%02d:%02d%s%02d%02d' % (when.year, when.month, when.day, when.hour, when.minute, when.second, tzSign, tzHour, tzMin))
