2010年2月16日火曜日

JavaのCalendarのsetTimeZone

上のテストがNGで下がOK。
下のソースは上のソースに System.outを追加しただけ。
なんでsetTimeZoneでupdateTimeしないで、getでupdateTimeするんだろ。
直感的じゃないなぁ
おかげではまってしまった。
/**
* NG
*/
public void testSetTimeZoneOnGMT(){
Calendar gmt = new GregorianCalendar(1970,1-1, 1,0,0,0);
gmt.setTimeZone(TimeZone.getTimeZone("GMT"));
assertEquals(gmt.get(Calendar.HOUR_OF_DAY), 15);
}

/**
* OK
*/
public void testSetTimeZoneOnGMT(){
Calendar gmt = new GregorianCalendar(1970,1-1, 1,0,0,0);

System.out.println(gmt.get(Calendar.HOUR_OF_DAY) );

gmt.setTimeZone(TimeZone.getTimeZone("GMT"));
assertEquals(gmt.get(Calendar.HOUR_OF_DAY), 15);
}


0 件のコメント: