code: public boolean isWeekend() {
          int dow =  get(DAY_OF_WEEK);
          int dowt = getDayOfWeekType(dow);
          switch (dowt) {
          case WEEKDAY:
              return false;
          case WEEKEND:
              return true;
          default: // That is, WEEKEND_ONSET or WEEKEND_CEASE
              // Use internalGet() because the above call to get() populated
              // all fields.
              // [Note: There should be a better way to get millis in day.
              //  For ICU4J, submit request for a MILLIS_IN_DAY field
              //  and a DAY_NUMBER field (could be Julian day #). - aliu]
              int millisInDay = internalGet(MILLISECOND) + 1000 * (internalGet(SECOND) +
                      60 * (internalGet(MINUTE) + 60 * internalGet(HOUR_OF_DAY)));
              int transition = getWeekendTransition(dow);
              return (dowt == WEEKEND_ONSET)
                      ? (millisInDay >= transition)
                              : (millisInDay <  transition);
          }
          // (We can never reach this point.)
      }
docs: <strong>[icu]</strong> Returns true if this Calendar's current date and time is in the weekend in
  this calendar system.
  @return true if the given date and time is part of the
  weekend
  @see #getDayOfWeekType
  @see #getWeekendTransition
  @see #isWeekend(Date)