Can you post the exact source code that you use to
test this? I wrote this small program:
If I run this, I get:
java.util.GregorianCalendar[time=1271936988190,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="EST",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],
firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2010,MONTH=3,WEEK_OF_YEAR=16,WEEK_OF_MONTH=4,DAY_OF_MONTH=22,DAY_OF_YEAR=112,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=6,HOUR_OF_DAY=6,MINUTE=49,SECOND=48,
MILLISECOND=190,ZONE_OFFSET=-18000000,DST_OFFSET=0]
Hour of day: 6
Note that in the long
string I also see HOUR_OF_DAY=6, so that's consistent with what I get from cal.get(Calendar.HOUR_OF_DAY). (Note, the local time here is 13:52, so 6:52 in EST should be right).
If I look at your output, in the long line I also see HOUR_OF_DAY=1 so it looks right that get(Calendar.HOUR_OF_DAY) returns 1 for your case.