⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dailycalendar.java

📁 quartz是一个用于工作任务定时调度的开源工具
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
     * <CODE>DailyCalendar</CODE>     *      * @return the properteis of the DailyCalendar in a String format     */    public String toString() {        NumberFormat numberFormatter = NumberFormat.getNumberInstance();        numberFormatter.setMaximumFractionDigits(0);        numberFormatter.setMinimumIntegerDigits(2);        StringBuffer buffer = new StringBuffer();        if (name != null) {            buffer.append(name).append(": ");        }        buffer.append("base calendar: [");        if (getBaseCalendar() != null) {            buffer.append(getBaseCalendar().toString());        } else {            buffer.append("null");        }        buffer.append("], time range: '");        buffer.append(numberFormatter.format(rangeStartingHourOfDay));        buffer.append(":");        buffer.append(numberFormatter.format(rangeStartingMinute));        buffer.append(":");        buffer.append(numberFormatter.format(rangeStartingSecond));        buffer.append(":");        numberFormatter.setMinimumIntegerDigits(3);        buffer.append(numberFormatter.format(rangeStartingMillis));        numberFormatter.setMinimumIntegerDigits(2);        buffer.append(" - ");        buffer.append(numberFormatter.format(rangeEndingHourOfDay));        buffer.append(":");        buffer.append(numberFormatter.format(rangeEndingMinute));        buffer.append(":");        buffer.append(numberFormatter.format(rangeEndingSecond));        buffer.append(":");        numberFormatter.setMinimumIntegerDigits(3);        buffer.append(numberFormatter.format(rangeEndingMillis));        buffer.append("', inverted: " + invertTimeRange + "]");        return buffer.toString();    }        /**     * Helper method to split the given string by the given delimiter.     */    private String[] split(String string, String delim) {        ArrayList result = new ArrayList();                StringTokenizer stringTokenizer = new StringTokenizer(string, delim);        while (stringTokenizer.hasMoreTokens()) {            result.add(stringTokenizer.nextToken());        }                return (String[])result.toArray(new String[result.size()]);    }        /**     * Sets the time range for the <CODE>DailyCalendar</CODE> to the times      * represented in the specified Strings.      *      * @param rangeStartingTimeString a String representing the start time of      *                                the time range     * @param rangeEndingTimeString   a String representing the end time of the     *                                excluded time range     */    private void setTimeRange(String rangeStartingTimeString,                              String rangeEndingTimeString) {        String[] rangeStartingTime;        int rangeStartingHourOfDay;        int rangeStartingMinute;        int rangeStartingSecond;        int rangeStartingMillis;                String[] rangeEndingTime;        int rangeEndingHourOfDay;        int rangeEndingMinute;        int rangeEndingSecond;        int rangeEndingMillis;                rangeStartingTime = split(rangeStartingTimeString, colon);                if ((rangeStartingTime.length < 2) || (rangeStartingTime.length > 4)) {            throw new IllegalArgumentException("Invalid time string '" +                     rangeStartingTimeString + "'");        }                rangeStartingHourOfDay = Integer.parseInt(rangeStartingTime[0]);        rangeStartingMinute = Integer.parseInt(rangeStartingTime[1]);        if (rangeStartingTime.length > 2) {            rangeStartingSecond = Integer.parseInt(rangeStartingTime[2]);        } else {            rangeStartingSecond = 0;        }        if (rangeStartingTime.length == 4) {            rangeStartingMillis = Integer.parseInt(rangeStartingTime[3]);        } else {            rangeStartingMillis = 0;        }                rangeEndingTime = split(rangeEndingTimeString, colon);        if ((rangeEndingTime.length < 2) || (rangeEndingTime.length > 4)) {            throw new IllegalArgumentException("Invalid time string '" +                     rangeEndingTimeString + "'");        }                rangeEndingHourOfDay = Integer.parseInt(rangeEndingTime[0]);        rangeEndingMinute = Integer.parseInt(rangeEndingTime[1]);        if (rangeEndingTime.length > 2) {            rangeEndingSecond = Integer.parseInt(rangeEndingTime[2]);        } else {            rangeEndingSecond = 0;        }        if (rangeEndingTime.length == 4) {            rangeEndingMillis = Integer.parseInt(rangeEndingTime[3]);        } else {            rangeEndingMillis = 0;        }                setTimeRange(rangeStartingHourOfDay,                     rangeStartingMinute,                     rangeStartingSecond,                     rangeStartingMillis,                     rangeEndingHourOfDay,                     rangeEndingMinute,                     rangeEndingSecond,                     rangeEndingMillis);    }    /**     * Sets the time range for the <CODE>DailyCalendar</CODE> to the times     * represented in the specified values.       *      * @param rangeStartingHourOfDay the hour of the start of the time range     * @param rangeStartingMinute    the minute of the start of the time range     * @param rangeStartingSecond    the second of the start of the time range     * @param rangeStartingMillis    the millisecond of the start of the time     *                               range     * @param rangeEndingHourOfDay   the hour of the end of the time range     * @param rangeEndingMinute      the minute of the end of the time range     * @param rangeEndingSecond      the second of the end of the time range     * @param rangeEndingMillis      the millisecond of the start of the time      *                               range     */    private void setTimeRange(int rangeStartingHourOfDay,                              int rangeStartingMinute,                              int rangeStartingSecond,                              int rangeStartingMillis,                              int rangeEndingHourOfDay,                              int rangeEndingMinute,                              int rangeEndingSecond,                              int rangeEndingMillis) {        validate(rangeStartingHourOfDay,                 rangeStartingMinute,                 rangeStartingSecond,                 rangeStartingMillis);                validate(rangeEndingHourOfDay,                 rangeEndingMinute,                 rangeEndingSecond,                 rangeEndingMillis);                Calendar startCal = createJavaCalendar();        startCal.set(Calendar.HOUR_OF_DAY, rangeStartingHourOfDay);        startCal.set(Calendar.MINUTE, rangeStartingMinute);        startCal.set(Calendar.SECOND, rangeStartingSecond);        startCal.set(Calendar.MILLISECOND, rangeStartingMillis);                Calendar endCal = createJavaCalendar();        endCal.set(Calendar.HOUR_OF_DAY, rangeEndingHourOfDay);        endCal.set(Calendar.MINUTE, rangeEndingMinute);        endCal.set(Calendar.SECOND, rangeEndingSecond);        endCal.set(Calendar.MILLISECOND, rangeEndingMillis);                if (!startCal.before(endCal)) {            throw new IllegalArgumentException(invalidTimeRange +                    rangeStartingHourOfDay + ":" +                    rangeStartingMinute + ":" +                    rangeStartingSecond + ":" +                    rangeStartingMillis + separator +                    rangeEndingHourOfDay + ":" +                    rangeEndingMinute + ":" +                    rangeEndingSecond + ":" +                    rangeEndingMillis);        }                this.rangeStartingHourOfDay = rangeStartingHourOfDay;        this.rangeStartingMinute = rangeStartingMinute;        this.rangeStartingSecond = rangeStartingSecond;        this.rangeStartingMillis = rangeStartingMillis;        this.rangeEndingHourOfDay = rangeEndingHourOfDay;        this.rangeEndingMinute = rangeEndingMinute;        this.rangeEndingSecond = rangeEndingSecond;        this.rangeEndingMillis = rangeEndingMillis;    }        /**     * Sets the time range for the <CODE>DailyCalendar</CODE> to the times     * represented in the specified <CODE>java.util.Calendar</CODE>s.      *      * @param rangeStartingCalendar a Calendar containing the start time for     *                              the <CODE>DailyCalendar</CODE>     * @param rangeEndingCalendar   a Calendar containing the end time for     *                              the <CODE>DailyCalendar</CODE>     */    private void setTimeRange(Calendar rangeStartingCalendar,                              Calendar rangeEndingCalendar) {        setTimeRange(                rangeStartingCalendar.get(Calendar.HOUR_OF_DAY),                rangeStartingCalendar.get(Calendar.MINUTE),                rangeStartingCalendar.get(Calendar.SECOND),                rangeStartingCalendar.get(Calendar.MILLISECOND),                rangeEndingCalendar.get(Calendar.HOUR_OF_DAY),                rangeEndingCalendar.get(Calendar.MINUTE),                rangeEndingCalendar.get(Calendar.SECOND),                rangeEndingCalendar.get(Calendar.MILLISECOND));    }        /**     * Sets the time range for the <CODE>DailyCalendar</CODE> to the times     * represented in the specified values.      *      * @param rangeStartingTime the starting time (in milliseconds) for the     *                          time range     * @param rangeEndingTime   the ending time (in milliseconds) for the time     *                          range     */    private void setTimeRange(long rangeStartingTime,                               long rangeEndingTime) {        setTimeRange(            createJavaCalendar(rangeStartingTime),             createJavaCalendar(rangeEndingTime));    }        /**     * Checks the specified values for validity as a set of time values.     *      * @param hourOfDay the hour of the time to check (in military (24-hour)     *                  time)     * @param minute    the minute of the time to check     * @param second    the second of the time to check     * @param millis    the millisecond of the time to check     */    private void validate(int hourOfDay, int minute, int second, int millis) {        if (hourOfDay < 0 || hourOfDay > 23) {            throw new IllegalArgumentException(invalidHourOfDay + hourOfDay);        }        if (minute < 0 || minute > 59) {            throw new IllegalArgumentException(invalidMinute + minute);        }        if (second < 0 || second > 59) {            throw new IllegalArgumentException(invalidSecond + second);        }        if (millis < 0 || millis > 999) {            throw new IllegalArgumentException(invalidMillis + millis);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -