<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def append_time(self, tag, timestamp=None, precision=3, utc=True, header=False):
 """Append a time field to this message. :param tag: Integer or string FIX tag number. :param timestamp: Time (see below) value to append, or None for now. :param precision: Number of decimal digits. Zero for seconds only, three for milliseconds, 6 for microseconds. Defaults to milliseconds. :param utc: Use UTC if True, local time if False. :param header: Append to header if True; default to body. THIS METHOD IS DEPRECATED! USE append_utc_timestamp() OR append_tz_timestamp() INSTEAD. Append a timestamp in FIX format from a Python time.time or datetime.datetime value. Note that prior to FIX 5.0, precision must be zero or three to be compliant with the standard."""


        warnings.warn("simplefix.FixMessage.append_time() is deprecated. "
                      "Use append_utc_timestamp() or append_tz_timestamp() "
                      "instead.", DeprecationWarning)
        if not timestamp:
            t = datetime.datetime.utcnow()

        elif type(timestamp) is float:
            if utc:
                t = datetime.datetime.utcfromtimestamp(timestamp)
            else:
                t = datetime.datetime.fromtimestamp(timestamp)

        else:
            t = timestamp

        s = t.strftime("%Y%m%d-%H:%M:%S")
        if precision == 3:
            s += ".%03d" % (t.microsecond / 1000)
        elif precision == 6:
            s += ".%06d" % t.microsecond
        elif precision != 0:
            raise ValueError("Precision should be one of 0, 3 or 6 digits")

        return self.append_pair(tag, s, header=header)