code: public void setTimeInMillis( long millis ) {
          if (millis > MAX_MILLIS) {
              if(isLenient()) {
                  millis = MAX_MILLIS;
              } else {
                  throw new IllegalArgumentException("millis value greater than upper bounds for a Calendar : " + millis);
              }
          } else if (millis < MIN_MILLIS) {
              if(isLenient()) {
                  millis = MIN_MILLIS;
              } else {
                  throw new IllegalArgumentException("millis value less than lower bounds for a Calendar : " + millis);
              }
          }
          time = millis;
          areFieldsSet = areAllFieldsSet = false;
          isTimeSet = areFieldsVirtuallySet = true;
  
          for (int i=0; i<fields.length; ++i) {
              fields[i] = stamp[i] = 0; // UNSET == 0
          }
  
      }
docs: Sets this Calendar's current time from the given long value.
  An IllegalIcuArgumentException is thrown when millis is outside the range permitted
  by a Calendar object when in strict mode.
  When in lenient mode the out of range values are pinned to their respective min/max.
  @param millis the new time in UTC milliseconds from the epoch.