'java'에 해당되는 글 1건

  1. 2014.01.13 2년 전 월 , 년도 셀렉트 데이터 구하기

      public static ArrayList getMonthList(String startmonth, String endmonth) {

          String sformat = "yyyyMM";

          ArrayList result = new ArrayList();

          java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(sformat);

          java.util.Date sdate = null;

          java.util.Date edate = null;

          try {

            sdate = sdf.parse(startmonth);

            edate = sdf.parse(endmonth);

          } catch (Exception ex) {

            ex.printStackTrace();

          }

          Calendar scal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

          Calendar ecal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

          scal.setTime(sdate);

          ecal.setTime(edate);


          do {

            result.add(sdf.format(scal.getTime()));

            scal.add(Calendar.MONTH, 1);

          } while (!scal.after(ecal));


          return result;

        }  

      

  public static TreeMap getMonthList(String selectedMonth) {

  TreeMap map= new TreeMap();

ArrayList list = new ArrayList();

Calendar nowCal= Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

String nowMonth= nowCal.get(Calendar.YEAR)+(""+(100+nowCal.get(Calendar.MONTH)+1)).substring(1);

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMM");

if(nchk(selectedMonth).equals("")) {

selectedMonth=nowMonth;

}

//선택월과 이번달이 같거나 크다면 2년전부터 이번달까지

if(selectedMonth.compareTo(nowMonth)>=0) {

nowCal.add(Calendar.MONTH, -24);

list=getMonthList(sdf.format(nowCal.getTime()),nowMonth);

}

else if(selectedMonth.compareTo(nowMonth)<0) {

//선택월이 이번달보다 작고 이번달까지 12개월이 안된다.

//선택월이 201312 이고 이번달은 201401 인경우 

Calendar selectedCal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

String startMonth="";

String endMonth="";

try {

selectedCal.setTime(sdf.parse(selectedMonth));

}catch(Exception ex) {

ex.printStackTrace();

}

selectedCal.add(Calendar.MONTH, 12);

if(selectedCal.after(nowCal)) {

endMonth=sdf.format(nowCal.getTime());

nowCal.add(Calendar.MONTH, -24);

startMonth=sdf.format(nowCal.getTime());

}else {

endMonth=sdf.format(selectedCal.getTime());

selectedCal.add(Calendar.MONTH, -24);

startMonth=sdf.format(selectedCal.getTime());

}

list=getMonthList(startMonth,endMonth);

}

if(list!=null && list.size()>0) {

for(int i=0; i<list.size();i++) {

String val=(String)list.get(i);

String year= val.substring(0,4);

ArrayList monthList=(ArrayList)map.get(year);

if(monthList==null) {

monthList=new ArrayList();

}

monthList.add(val);

map.put(year, monthList);

}

}

return map;

}

 

  public static LMultiData getYearList(String selectedYear)  {

  LMultiData md= new LMultiData();

  Calendar nowCal= Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

 

  SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");

  Calendar selCal= Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));

  try {

  selCal.setTime(sdf.parse(selectedYear));

  } catch(Exception ex) {

  ex.printStackTrace();

  }

 

  //선택년도부터 2년 전까지의 년도를 붙인다. 최근년도 순서

  while (!selCal.after(nowCal)) {

  LData ld= new LData();

    ld.setString("key", nowCal.get(Calendar.YEAR)+"");

    ld.setString("value", nowCal.get(Calendar.YEAR)+" 년");

    md.addLData(ld);

   

    nowCal.add(Calendar.YEAR, -1);

  }

  int prevYearCnt=2;

  for(int i=1; i<= prevYearCnt; i++) {

  selCal.add(Calendar.YEAR, -1);

    LData ld= new LData();

    ld.setString("key", selCal.get(Calendar.YEAR)+"");

    ld.setString("value", selCal.get(Calendar.YEAR)+" 년");

    md.addLData(ld);

  }

 

 

  /*

  * //선택년도부터 2년 전까지의 년도를 붙인다. 최근년도 역순서

  int prevYearCnt=2;

  selCal.add(Calendar.YEAR, -1*prevYearCnt );

  for(int i=0; i< prevYearCnt; i++) {

  selCal.add(Calendar.YEAR, i);

    LData ld= new LData();

    ld.setString("key", selCal.get(Calendar.YEAR)+"");

    ld.setString("value", selCal.get(Calendar.YEAR)+"");

    md.addLData(ld);

  }

  selCal.add(Calendar.YEAR, 1);

  while (!selCal.after(nowCal)) {

  LData ld= new LData();

    ld.setString("key", selCal.get(Calendar.YEAR)+"");

    ld.setString("value", selCal.get(Calendar.YEAR)+"");

    md.addLData(ld);

   

    selCal.add(Calendar.YEAR, 1);

  }

  */

  return md;


 

  }

'라이브러리' 카테고리의 다른 글

로딩 프로그레시브 이미지  (0) 2014.01.13
Posted by 레디37
,