Commons Lang、DateUtils.round()

import java.util.*;
import org.apache.commons.lang.time.DateUtils;

public class C2009012500 {
    public static void main(String[] args) {
        GregorianCalendar c = new GregorianCalendar();

        System.out.println(c);
        System.out.println(DateUtils.round(c, GregorianCalendar.MINUTE));
        System.out.println(DateUtils.round(c, GregorianCalendar.HOUR));
        System.out.println(DateUtils.round(c, GregorianCalendar.DATE));
    }
}

で、

java.util.GregorianCalendar[time=1233098091177,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=0,WEEK_OF_YEAR=5,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=28,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=14,SECOND=51,MILLISECOND=177,ZONE_OFFSET=32400000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1233098100000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=0,WEEK_OF_YEAR=5,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=28,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=15,SECOND=0,MILLISECOND=0,ZONE_OFFSET=32400000,DST_OFFSET=0]
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=0,WEEK_OF_YEAR=5,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=28,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=32400000,DST_OFFSET=0]
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=0,WEEK_OF_YEAR=5,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=28,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=32400000,DST_OFFSET=0]
import java.util.*;
import org.apache.commons.lang.time.DateUtils;

public class C2009012501 {
    public static void main(String[] args) {
        Date d = new Date();

        System.out.println(d);
        System.out.println(DateUtils.round(d, GregorianCalendar.MINUTE));
        System.out.println(DateUtils.round(d, GregorianCalendar.HOUR));
        System.out.println(DateUtils.round(d, GregorianCalendar.DATE));
    }
}

で、

Wed Jan 28 08:15:14 JST 2009
Wed Jan 28 08:15:00 JST 2009
Wed Jan 28 08:00:00 JST 2009
Wed Jan 28 00:00:00 JST 2009
import java.util.*;
import org.apache.commons.lang.time.DateUtils;

public class C2009012502 {
    public static void main(String[] args) {
        GregorianCalendar c = new GregorianCalendar();

        System.out.println(c);
        System.out.println(DateUtils.round((Object)c, GregorianCalendar.MINUTE));
        System.out.println(DateUtils.round((Object)c, GregorianCalendar.HOUR));
        System.out.println(DateUtils.round((Object)c, GregorianCalendar.DATE));
    }
}

で、

java.util.GregorianCalendar[time=1233098138037,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=0,WEEK_OF_YEAR=5,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=28,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=15,SECOND=38,MILLISECOND=37,ZONE_OFFSET=32400000,DST_OFFSET=0]
Wed Jan 28 08:16:00 JST 2009
Wed Jan 28 08:00:00 JST 2009
Wed Jan 28 00:00:00 JST 2009