JSPのテーブルのヘッダーとして使用している月のリストを作成しています。
私が行っているのは、データベースから取得している月を比較し、その月までの反復または「試行」です。この場合、月は11月です
問題は、2012年10月から2013年10月までしかリストを作成できないことです。
私の論理は健全に見えますが、他に何を試すことができるかわかりません。
開始点と比較..データベースからの鍵は
int effortYear = 2013
Calendar max = Calendar.getInstance();
max.set(effortYear,8,1,0,0,0);
for (ItemUnitBean item: scheduledBeans)
{
ItemUnitBean bean = new ItemUnitBean();
for(Entry<Date, ItemPhasing> en : item.getScheduledItemByMonth().entrySet() )
{
System.out.println( "KEY= " + en.getKey() ); // KEY =2013-11-01
if ( en.getKey().compareTo(max.getTime()) > 0 )
{
max.setTime(en.getKey());
}
}
finalScheduledBeans.add(bean);
}
リストを作成します。
TreeSet<Date> scheduledMonthList = new TreeSet<Date>();
Calendar temp = Calendar.getInstance();
temp.set(effortYear-1,9,1,0,0,0);
do
{
scheduledMonthList.add(temp.getTime());
System.out.println("montList= " + temp.getTime() );
temp.add( Calendar.MONTH, 1 );
} while( temp.compareTo(max) <= 0 );
これはロガーが吐き出すものです:
11月がリストに追加されない理由を誰かが理解できますか?