Commons Lang、DateUtils.truncate()

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

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

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

で、

java.util.GregorianCalendar[time=1233098213407,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=16,SECOND=53,MILLISECOND=407,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=16,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 C2009012601 {
    public static void main(String[] args) {
        Date d = new Date();

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

で、

Wed Jan 28 08:17:33 JST 2009
Wed Jan 28 08:17: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 C2009012602 {
    public static void main(String[] args) {
        GregorianCalendar c = new GregorianCalendar();

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

で、

java.util.GregorianCalendar[time=1233098281695,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=18,SECOND=1,MILLISECOND=695,ZONE_OFFSET=32400000,DST_OFFSET=0]
Wed Jan 28 08:18:00 JST 2009
Wed Jan 28 08:00:00 JST 2009
Wed Jan 28 00:00:00 JST 2009