docs: def writeDate(self, n):
          """
          Writes a C{datetime} instance to the stream.
  
          @type n: L{datetime}
          @param n: The C{Date} data to be encoded to the AMF3 data stream.
          """
          if isinstance(n, datetime.time):
              raise pyamf.EncodeError('A datetime.time instance was found but '
                  'AMF3 has no way to encode time objects. Please use '
                  'datetime.datetime instead (got:%r)' % (n,))
  
          self.stream.write(TYPE_DATE)
  
          ref = self.context.getObjectReference(n)
  
          if ref != -1:
              self._writeInteger(ref << 1)
  
              return
  
          self.context.addObject(n)
  
          self.stream.write_uchar(REFERENCE_BIT)
  
          if self.timezone_offset is not None:
              n -= self.timezone_offset
  
          ms = util.get_timestamp(n)
          self.stream.write_double(ms * 1000.0)