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

📄 segmentedtimelinetests2.java

📁 用于制作报表的中间件控件,纯java编写,还附带有数据库操作的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    }    /**     * Test 6 checks that 9am on Sunday 28 March 2004 converts to the timeline      * value and back again correctly.  Note that Saturday and Sunday are      * excluded from the timeline, so we expect the value to map to 9am on      * Monday 29 March 2004. This is during daylight saving.     */    public void test6() {        TimeZone savedZone = TimeZone.getDefault();        TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));        Calendar cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 28);        cal.set(Calendar.HOUR_OF_DAY, 9);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date date = cal.getTime();        SegmentedTimeline timeline = getTimeline();              long value = timeline.toTimelineValue(date);           long ms = timeline.toMillisecond(value);        Calendar cal2 = Calendar.getInstance(Locale.UK);        cal2.setTime(new Date(ms));        Date reverted = cal2.getTime();              Calendar expectedReverted = Calendar.getInstance(Locale.UK);        expectedReverted.set(Calendar.YEAR, 2004);        expectedReverted.set(Calendar.MONTH, Calendar.MARCH);        expectedReverted.set(Calendar.DAY_OF_MONTH, 29);        expectedReverted.set(Calendar.HOUR_OF_DAY, 9);        expectedReverted.set(Calendar.MINUTE, 0);        expectedReverted.set(Calendar.SECOND, 0);        expectedReverted.set(Calendar.MILLISECOND, 0);              assertTrue(            "test6", value == (900000 * 34 * 2)             && expectedReverted.getTime().getTime() == reverted.getTime()        );        TimeZone.setDefault(savedZone);    }                 /**     * Test 7 checks 9am Monday 29 March 2004 converts to a timeline value and      * back again correctly.  This is during Daylight Saving.     */    public void test7() {        TimeZone savedZone = TimeZone.getDefault();        TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));        Calendar cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 29);        cal.set(Calendar.HOUR_OF_DAY, 9);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date date = cal.getTime();                          SegmentedTimeline timeline = getTimeline();        long value = timeline.toTimelineValue(date);           long ms = timeline.toMillisecond(value);              Calendar cal2 = Calendar.getInstance(Locale.UK);        cal2.setTime(new Date(ms));        Date reverted = cal2.getTime();              Calendar expectedReverted = Calendar.getInstance();        expectedReverted.set(Calendar.YEAR, 2004);        expectedReverted.set(Calendar.MONTH, Calendar.MARCH);        expectedReverted.set(Calendar.DAY_OF_MONTH, 29);        expectedReverted.set(Calendar.HOUR_OF_DAY, 9);        expectedReverted.set(Calendar.MINUTE, 0);        expectedReverted.set(Calendar.SECOND, 0);        expectedReverted.set(Calendar.MILLISECOND, 0);              assertTrue(            "test7", value == (900000 * 34 * 2)             && expectedReverted.getTime().getTime() == reverted.getTime()        );        TimeZone.setDefault(savedZone);    }    /**     * Test 8.     */    public void test8() {        TimeZone savedZone = TimeZone.getDefault();        TimeZone.setDefault(TimeZone.getTimeZone("Europe/London"));        Calendar cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 29);        cal.set(Calendar.HOUR_OF_DAY, 10);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date date = cal.getTime();                          SegmentedTimeline timeline = getTimeline();                    // Add exception in included segments        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 29);        cal.set(Calendar.HOUR_OF_DAY, 9);        cal.set(Calendar.MINUTE, 15);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        timeline.addException(cal.getTime());                    long value = timeline.toTimelineValue(date);           long ms = timeline.toMillisecond(value);              Calendar cal2 = Calendar.getInstance(Locale.UK);        cal2.setTime(new Date(ms));        Date reverted = cal2.getTime();              Calendar expectedReverted = Calendar.getInstance();        expectedReverted.set(Calendar.YEAR, 2004);        expectedReverted.set(Calendar.MONTH, Calendar.MARCH);        expectedReverted.set(Calendar.DAY_OF_MONTH, 29);        expectedReverted.set(Calendar.HOUR_OF_DAY, 10);        expectedReverted.set(Calendar.MINUTE, 0);        expectedReverted.set(Calendar.SECOND, 0);        expectedReverted.set(Calendar.MILLISECOND, 0);              assertTrue(            "test8", value == (900000 * 34 * 2 + 900000 * (4 - 1))             && expectedReverted.getTime().getTime() == reverted.getTime()        );        TimeZone.setDefault(savedZone);    }       /**     * Creates a timeline from 9am on Thursday 25 March 2004 to 5pm on      * Tuesday 30 March 2004, for the UK locale.     *      * @return A timeline.     */    private SegmentedTimeline getTimeline() {        Calendar cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 25);        cal.set(Calendar.HOUR_OF_DAY, 9);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date from = cal.getTime();        cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 2004);        cal.set(Calendar.MONTH, Calendar.MARCH);        cal.set(Calendar.DAY_OF_MONTH, 30);        cal.set(Calendar.HOUR_OF_DAY, 17);        cal.set(Calendar.MINUTE, 30);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date to = cal.getTime();        return getTimeline(from, to);    }       /**     * Returns a segmented timeline for 15 minute segments, Monday to Friday      * only, between 9am and 5pm.  The UK locale is used.     *      * @param start  the start date.     * @param end  the end date.     *      * @return The timeline.     */    private SegmentedTimeline getTimeline(Date start, Date end) {              Calendar cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 1970);        cal.set(Calendar.MONTH, Calendar.JANUARY);        cal.set(Calendar.DAY_OF_MONTH, 1);        cal.set(Calendar.HOUR_OF_DAY, 9);        cal.set(Calendar.MINUTE, 0);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date open = cal.getTime();        cal = Calendar.getInstance(Locale.UK);        cal.set(Calendar.YEAR, 1970);        cal.set(Calendar.MONTH, Calendar.JANUARY);        cal.set(Calendar.DAY_OF_MONTH, 1);        cal.set(Calendar.HOUR_OF_DAY, 17);        cal.set(Calendar.MINUTE, 30);        cal.set(Calendar.SECOND, 0);        cal.set(Calendar.MILLISECOND, 0);        Date close = cal.getTime();                                SegmentedTimeline result = null;              // Create a segmented time line (segment size : 15 minutes)        long quarterHourCount = (close.getTime() - open.getTime())            / SegmentedTimeline.FIFTEEN_MINUTE_SEGMENT_SIZE;        long totalQuarterHourCount = SegmentedTimeline.DAY_SEGMENT_SIZE             / SegmentedTimeline.FIFTEEN_MINUTE_SEGMENT_SIZE;        result = new SegmentedTimeline(            SegmentedTimeline.FIFTEEN_MINUTE_SEGMENT_SIZE,            (int) quarterHourCount,             (int) (totalQuarterHourCount - quarterHourCount)          );        result.setAdjustForDaylightSaving(true);        // Set start time        result.setStartTime(start.getTime());        // Saturday and Sundays are non business hours        result.setBaseTimeline(            SegmentedTimeline.newMondayThroughFridayTimeline()        );        /* PUT exclusions in test */        if (start != null && end != null) {            result.addBaseTimelineExclusions(start.getTime(), end.getTime());        }                  return result;       }          }

⌨️ 快捷键说明

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