code: public void writeUTCDate(long time)
          throws IOException
      {
          if (SIZE < _offset + 32)
              flushBuffer();
  
          int offset = _offset;
          byte[] buffer = _buffer;
  
          if (time % 60000L == 0) {
              // compact date ::= x65 b3 b2 b1 b0
  
              long minutes = time / 60000L;
  
              if ((minutes >> 31) == 0 || (minutes >> 31) == -1) {
                  buffer[offset++] = (byte) BC_DATE_MINUTE;
                  buffer[offset++] = ((byte) (minutes >> 24));
                  buffer[offset++] = ((byte) (minutes >> 16));
                  buffer[offset++] = ((byte) (minutes >> 8));
                  buffer[offset++] = ((byte) (minutes >> 0));
  
                  _offset = offset;
                  return;
              }
          }
  
          buffer[offset++] = (byte) BC_DATE;
          buffer[offset++] = ((byte) (time >> 56));
          buffer[offset++] = ((byte) (time >> 48));
          buffer[offset++] = ((byte) (time >> 40));
          buffer[offset++] = ((byte) (time >> 32));
          buffer[offset++] = ((byte) (time >> 24));
          buffer[offset++] = ((byte) (time >> 16));
          buffer[offset++] = ((byte) (time >> 8));
          buffer[offset++] = ((byte) (time));
  
          _offset = offset;
      }
docs: Writes a date to the stream.
  
  <code><pre>
  date ::= d   b7 b6 b5 b4 b3 b2 b1 b0
  ::= x65 b3 b2 b1 b0
  </pre></code>
  
  @param time the date in milliseconds from the epoch in UTC