docs: public boolean match(GregorianCalendar calendar, boolean isMatchSecond) {
  		final int second = calendar.get(Calendar.SECOND);
  		final int minute = calendar.get(Calendar.MINUTE);
  		final int hour = calendar.get(Calendar.HOUR_OF_DAY);
  		final int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
  		final int month = calendar.get(Calendar.MONTH) + 1;// 月份从1开始
  		final int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 星期从0开始，0和7都表示周日
  		final int year = calendar.get(Calendar.YEAR);
  
  		boolean eval;
  		for (int i = 0; i < matcherSize; i++) {
  			eval = (isMatchSecond ? secondMatchers.get(i).match(second) : true) // 匹配秒（非秒匹配模式下始终返回true）
  					&& minuteMatchers.get(i).match(minute)// 匹配分
  					&& hourMatchers.get(i).match(hour)// 匹配时
  					&& isMatchDayOfMonth(dayOfMonthMatchers.get(i), dayOfMonth, month, calendar.isLeapYear(year))// 匹配日
  					&& monthMatchers.get(i).match(month) // 匹配月
  					&& dayOfWeekMatchers.get(i).match(dayOfWeek)// 匹配周
  					&& isMatch(yearMatchers, i, year);// 匹配年
  			if (eval) {
  				return true;
  			}
  		}
  		return false;
  	}