Mega Code Archive

 
Categories / Java / Development Class
 

Calendar Util

import java.util.Calendar; import java.util.logging.Logger; /**  * {@link java.util.Calendar} utilities  *   * @author Kazuhiro Sera  */ public final class CalendarUtil {   public static Calendar testData;   public static Calendar getCurrentTime() {     if (testData != null) {       Calendar result = deepCopy(testData);       testData = null;       return result;     } else {       return Calendar.getInstance();     }   }   public static Calendar getCurrentTruncDate() {     return dateTrunc(getCurrentTime());   }   public static Integer getYear(Calendar calendar) {     Integer year = calendar.get(Calendar.YEAR);     return year;   }   public static Integer getMonth(Calendar calendar) {     Integer month = calendar.get(Calendar.MONTH) + 1;     return month;   }   public static Integer getDay(Calendar calendar) {     Integer day = calendar.get(Calendar.DATE);     return day;   }   public static Integer getDayOfWeekNumber(Calendar cal) {     return cal.get(Calendar.DAY_OF_WEEK);   }   public static Integer get24Hour(Calendar calendar) {     Integer hour = calendar.get(Calendar.HOUR_OF_DAY);     return hour;   }   public static Integer getMinute(Calendar calendar) {     Integer minute = calendar.get(Calendar.MINUTE);     return minute;   }   public static Integer getSecond(Calendar calendar) {     Integer second = calendar.get(Calendar.SECOND);     return second;   }   public static Integer getMillisecond(Calendar calendar) {     Integer millisecond = calendar.get(Calendar.MILLISECOND);     return millisecond;   }   public static Calendar getCalendar(String yyyy, String mm, String dd) {     Calendar cal = Calendar.getInstance();     cal.set(Calendar.YEAR, Integer.valueOf(yyyy));     cal.set(Calendar.MONTH, Integer.valueOf(mm) - 1);     cal.set(Calendar.DATE, Integer.valueOf(dd));     cal.set(Calendar.HOUR_OF_DAY, 0);     cal.set(Calendar.MINUTE, 0);     cal.set(Calendar.SECOND, 0);     cal.set(Calendar.MILLISECOND, 0);     return cal;   }   public static Calendar getCalendar(int yyyy, int mm, int dd) {     Calendar cal = Calendar.getInstance();     cal.set(Calendar.YEAR, yyyy);     cal.set(Calendar.MONTH, mm - 1);     cal.set(Calendar.DATE, dd);     cal.set(Calendar.HOUR_OF_DAY, 0);     cal.set(Calendar.MINUTE, 0);     cal.set(Calendar.SECOND, 0);     cal.set(Calendar.MILLISECOND, 0);     return cal;   }   public static Calendar getCalendar(String yyyy, String mm, String dd,       String hh, String mi, String ss) {     Calendar cal = getCalendar(yyyy, mm, dd);     cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(hh));     cal.set(Calendar.MINUTE, Integer.valueOf(mi));     cal.set(Calendar.SECOND, Integer.valueOf(ss));     return cal;   }   public static Calendar getCalendar(int yyyy, int mm, int dd, int hh,       int mi, int ss) {     Calendar cal = getCalendar(yyyy, mm, dd);     cal.set(Calendar.HOUR_OF_DAY, hh);     cal.set(Calendar.MINUTE, mi);     cal.set(Calendar.SECOND, ss);     return cal;   }   public static Calendar dateTrunc(Calendar calendar) {     if (calendar == null) {       return null;     }     Calendar date = (Calendar) calendar.clone();     date.set(Calendar.HOUR_OF_DAY, 0);     date.set(Calendar.MINUTE, 0);     date.set(Calendar.SECOND, 0);     date.set(Calendar.MILLISECOND, 0);     return date;   }   public static boolean isFirstAfterSecond(Calendar first, Calendar second) {     long firstValue = first.getTimeInMillis();     long secondValue = second.getTimeInMillis();     return (firstValue > secondValue) ? true : false;   }   public static Calendar deepCopy(Calendar src) {     Calendar dest = Calendar.getInstance();     dest.setTimeInMillis(src.getTimeInMillis());     return dest;   }   public static Calendar addYears(Calendar src, int years) {     Calendar dest = deepCopy(src);     dest.add(Calendar.YEAR, years);     return dest;   }   public static Calendar addMonths(Calendar src, int months) {     Calendar dest = deepCopy(src);     dest.add(Calendar.MONTH, months);     return dest;   }   public static Calendar addDays(Calendar src, int days) {     Calendar dest = deepCopy(src);     dest.add(Calendar.DATE, days);     return dest;   }   public static Calendar addHours(Calendar src, int hours) {     Calendar dest = deepCopy(src);     dest.add(Calendar.HOUR_OF_DAY, hours);     return dest;   }   public static Calendar addMinutes(Calendar src, int minutes) {     Calendar dest = deepCopy(src);     dest.add(Calendar.MINUTE, minutes);     return dest;   }   public static Calendar addSeconds(Calendar src, int seconds) {     Calendar dest = deepCopy(src);     dest.add(Calendar.SECOND, seconds);     return dest;   }   public static Calendar getCalendar(long timeInMillis) {     Calendar dest = Calendar.getInstance();     dest.setTimeInMillis(timeInMillis);     return dest;   }   public static String toYYYYMMDDHHMISS(Calendar calendar) {     return String.format("%04d", getYear(calendar))         + String.format("%02d", getMonth(calendar))         + String.format("%02d", getDay(calendar))         + String.format("%02d", get24Hour(calendar))         + String.format("%02d", getMinute(calendar))         + String.format("%02d", getSecond(calendar));   } } ------ package net.seratch.taskun.util; import java.util.Calendar; import junit.framework.TestCase; public class CalendarUtilTest extends TestCase {   public void test_getYear_A$Calendar() throws Exception {     Integer expected = 2009;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.YEAR, expected);     Integer actual = CalendarUtil.getYear(arg0);     assertEquals(expected, actual);   }   public void test_getYear_A$Calendar_1899() throws Exception {     Integer expected = 1899;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.YEAR, expected);     Integer actual = CalendarUtil.getYear(arg0);     assertEquals(expected, actual);   }   public void test_getYear_A$Calendar_1900() throws Exception {     Integer expected = 1900;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.YEAR, expected);     Integer actual = CalendarUtil.getYear(arg0);     assertEquals(expected, actual);   }   public void test_getYear_A$Calendar_2037() throws Exception {     Integer expected = 2037;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.YEAR, expected);     Integer actual = CalendarUtil.getYear(arg0);     assertEquals(expected, actual);   }   public void test_getYear_A$Calendar_2038() throws Exception {     Integer expected = 2038;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.YEAR, expected);     Integer actual = CalendarUtil.getYear(arg0);     assertEquals(expected, actual);   }   public void test_getMonth_A$Calendar() throws Exception {     Integer expected = 10;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MONTH, expected - 1);     Integer actual = CalendarUtil.getMonth(arg0);     assertEquals(expected, actual);   }   public void test_getMonth_A$Calendar_jun0() throws Exception {     Integer expected = 1;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MONTH, 0);     Integer actual = CalendarUtil.getMonth(arg0);     assertEquals(expected, actual);   }   public void test_getMonth_A$Calendar_jun12() throws Exception {     Integer expected = 1;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MONTH, 12);     Integer actual = CalendarUtil.getMonth(arg0);     assertEquals(expected, actual);   }   public void test_getMonth_A$Calendar_dec() throws Exception {     Integer expected = 12;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MONTH, 11);     Integer actual = CalendarUtil.getMonth(arg0);     assertEquals(expected, actual);   }   public void test_getDay_A$Calendar() throws Exception {     Integer expected = 10;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.DATE, expected);     Integer actual = CalendarUtil.getDay(arg0);     assertEquals(expected, actual);   }   public void test_get24Hour_A$Calendar() throws Exception {     Integer expected = 23;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.HOUR_OF_DAY, expected);     Integer actual = CalendarUtil.get24Hour(arg0);     assertEquals(expected, actual);   }   public void test_get24Hour_A$Calendar_0() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.HOUR_OF_DAY, expected);     Integer actual = CalendarUtil.get24Hour(arg0);     assertEquals(expected, actual);   }   public void test_get24Hour_A$Calendar_24() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.HOUR_OF_DAY, 24);     Integer actual = CalendarUtil.get24Hour(arg0);     assertEquals(expected, actual);   }   public void test_getMinute_A$Calendar() throws Exception {     Integer expected = 59;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MINUTE, expected);     Integer actual = CalendarUtil.getMinute(arg0);     assertEquals(expected, actual);   }   public void test_getMinute_A$Calendar_60() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MINUTE, 60);     Integer actual = CalendarUtil.getMinute(arg0);     assertEquals(expected, actual);   }   public void test_getMinute_A$Calendar_0() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MINUTE, expected);     Integer actual = CalendarUtil.getMinute(arg0);     assertEquals(expected, actual);   }   public void test_getSecond_A$Calendar() throws Exception {     Integer expected = 33;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.SECOND, expected);     Integer actual = CalendarUtil.getSecond(arg0);     assertEquals(expected, actual);   }   public void test_getSecond_A$Calendar_60() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.SECOND, 60);     Integer actual = CalendarUtil.getSecond(arg0);     assertEquals(expected, actual);   }   public void test_getSecond_A$Calendar_0() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.SECOND, expected);     Integer actual = CalendarUtil.getSecond(arg0);     assertEquals(expected, actual);   }   public void test_getCalendar_A$String$String$String() throws Exception {     long expected = 1262185200000L;     String arg0 = "2009";     String arg1 = "12";     String arg2 = "31";     Calendar actual = CalendarUtil.getCalendar(arg0, arg1, arg2);     assertEquals(expected, actual.getTimeInMillis());   }   public void test_getCalendar_A$String$String$String$String$String$String()       throws Exception {     long expected = 1262271599000L;     String arg0 = "2009";     String arg1 = "12";     String arg2 = "31";     String arg3 = "23";     String arg4 = "59";     String arg5 = "59";     Calendar actual = CalendarUtil.getCalendar(arg0, arg1, arg2, arg3,         arg4, arg5);     assertEquals(expected, actual.getTimeInMillis());   }   public void test_dateTrunc_A$Calendar() throws Exception {     Calendar today = CalendarUtil.dateTrunc(Calendar.getInstance());     assertEquals(0, today.get(Calendar.HOUR_OF_DAY));     assertEquals(0, today.get(Calendar.MINUTE));     assertEquals(0, today.get(Calendar.SECOND));     assertEquals(0, today.get(Calendar.MILLISECOND));   }   public void test_getCurrentTime_A$() throws Exception {     Calendar actual = CalendarUtil.getCurrentTime();     assertNotNull(actual);   }   public void test_getCurrentTime_A$_testData() throws Exception {     CalendarUtil.testData = Calendar.getInstance();     Calendar actual = CalendarUtil.getCurrentTime();     assertNotNull(actual);     assertNull(CalendarUtil.testData);   }   public void test_getCurrentTruncDate_A$() throws Exception {     Calendar actual = CalendarUtil.getCurrentTruncDate();     assertEquals(0, actual.get(Calendar.HOUR));     assertEquals(0, actual.get(Calendar.MINUTE));     assertEquals(0, actual.get(Calendar.SECOND));     assertEquals(0, actual.get(Calendar.MILLISECOND));   }   public void test_isFirstAfterSecond_A$Calendar$Calendar_true()       throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     Calendar arg1 = CalendarUtil.getCalendar("2010", "2", "28");     // when     boolean actual = CalendarUtil.isFirstAfterSecond(arg0, arg1);     // then     boolean expected = true;     assertEquals(expected, actual);   }   public void test_isFirstAfterSecond_A$Calendar$Calendar_false()       throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     Calendar arg1 = CalendarUtil.getCalendar("2010", "2", "28");     // when     boolean actual2 = CalendarUtil.isFirstAfterSecond(arg1, arg0);     // then     boolean expected2 = false;     assertEquals(expected2, actual2);   }   public void test_isFirstAfterSecond_A$Calendar$Calendar_same()       throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     // when     boolean actual3 = CalendarUtil.isFirstAfterSecond(arg0, arg0);     // then     boolean expected3 = false;     assertEquals(expected3, actual3);   }   public void test_deepCopy_A$Calendar() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     // when     Calendar actual = CalendarUtil.deepCopy(arg0);     // then     actual.add(Calendar.SECOND, 1);     assertNotSame(arg0, actual);     assertTrue(CalendarUtil.isFirstAfterSecond(actual, arg0));   }   public void test_addYears_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     // when     Calendar actual = CalendarUtil.addYears(arg0, 1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 2011, (int) CalendarUtil.getYear(actual));   }   public void test_addYears_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");     // when     Calendar actual = CalendarUtil.addYears(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 2009, (int) CalendarUtil.getYear(actual));   }   public void test_addMonths_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1");     // when     Calendar actual = CalendarUtil.addMonths(arg0, 1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 3, (int) CalendarUtil.getMonth(actual));   }   public void test_addMonths_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1");     // when     Calendar actual = CalendarUtil.addMonths(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 1, (int) CalendarUtil.getMonth(actual));   }   public void test_addDays_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "28");     // when     Calendar actual = CalendarUtil.addDays(arg0, 1);     // then     assertEquals((int) 3, (int) CalendarUtil.getMonth(actual));     assertEquals((int) 1, (int) CalendarUtil.getDay(actual));   }   public void test_addDays_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "28");     // when     Calendar actual = CalendarUtil.addDays(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 27, (int) CalendarUtil.getDay(actual));   }   public void test_addHours_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addHours(arg0, 1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 23, (int) CalendarUtil.get24Hour(actual));   }   public void test_addHours_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addHours(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 21, (int) CalendarUtil.get24Hour(actual));   }   public void test_addMinutes_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addMinutes(arg0, 1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 24, (int) CalendarUtil.getMinute(actual));   }   public void test_addMinutes_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addMinutes(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 22, (int) CalendarUtil.getMinute(actual));   }   public void test_addSeconds_A$Calendar$int_plus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addSeconds(arg0, 1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 35, (int) CalendarUtil.getSecond(actual));   }   public void test_addSeconds_A$Calendar$int_minus() throws Exception {     // given     Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23",         "34");     // when     Calendar actual = CalendarUtil.addSeconds(arg0, -1);     // then     assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());     assertEquals((int) 33, (int) CalendarUtil.getSecond(actual));   }   public void test_getMillisecond_A$Calendar() throws Exception {     Integer expected = 234;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MILLISECOND, expected);     Integer actual = CalendarUtil.getMillisecond(arg0);     assertEquals(expected, actual);   }   public void test_getMillisecond_A$Calendar_999() throws Exception {     Integer expected = 999;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MILLISECOND, expected);     Integer actual = CalendarUtil.getMillisecond(arg0);     assertEquals(expected, actual);   }   public void test_getMillisecond_A$Calendar_1000() throws Exception {     Integer expected = 0;     Calendar arg0 = Calendar.getInstance();     arg0.set(Calendar.MILLISECOND, 1000);     Integer actual = CalendarUtil.getMillisecond(arg0);     assertEquals(expected, actual);   }   public void test_getCalendar_A$int$int$int() throws Exception {     Calendar actual = CalendarUtil.getCalendar(2000, 2, 3);     assertTrue(2000 == actual.get(Calendar.YEAR));     assertTrue(1 == actual.get(Calendar.MONTH));     assertTrue(3 == actual.get(Calendar.DATE));   }   public void test_getCalendar_A$int$int$int$int$int$int() throws Exception {     Calendar actual = CalendarUtil.getCalendar(2000, 2, 3, 4, 5, 6);     assertTrue(2000 == actual.get(Calendar.YEAR));     assertTrue(1 == actual.get(Calendar.MONTH));     assertTrue(3 == actual.get(Calendar.DATE));     assertTrue(4 == actual.get(Calendar.HOUR));     assertTrue(5 == actual.get(Calendar.MINUTE));     assertTrue(6 == actual.get(Calendar.SECOND));   }   public void test_getDayOfWeekNumber_A$Calendar() throws Exception {     assertEquals((int) 1,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "18")));     assertEquals((int) 2,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "19")));     assertEquals((int) 3,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "20")));     assertEquals((int) 4,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "21")));     assertEquals((int) 5,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "22")));     assertEquals((int) 6,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "23")));     assertEquals((int) 7,         (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar(             "2010", "4", "24")));   }   public void test_getCalendar_A$long() throws Exception {     long arg0 = 12345L;     Calendar actual = CalendarUtil.getCalendar(arg0);     assertEquals(arg0, actual.getTimeInMillis());   }   public void test_toYYYYMMDDHHMISS_A$Calendar() throws Exception {     Calendar arg0 = CalendarUtil.getCalendar("2010", "02", "3", "1", "2",         "3");     String actual = CalendarUtil.toYYYYMMDDHHMISS(arg0);     String expected = "20100203010203";     assertEquals(expected, actual);   } }