Java

해당 날짜가 포함된 주의 월요일 구하기

기계식키보드 2011. 3. 4. 18:28
Calendar가 젤 어렵드라 난

public static String getMondayFromDay(String yyyymmdd) {
int yyyy = Integer.parseInt(yyyymmdd.substring(0, 4));
int mm = Integer.parseInt(yyyymmdd.substring(4, 6)) - 1;
int dd = Integer.parseInt(yyyymmdd.substring(6, 8));
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String setDate = ""; 
Calendar calendar = Calendar.getInstance();
calendar.set(yyyy, mm, dd);
setDate = formatter.format(calendar.getTime());
int yoil = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("입력날짜:"+setDate + ", 요일:"+yoil);
int gap = 0;
int[] idx = {1, 2, 3, 4, 5, 6, 7};
for(int i = 0; i < idx.length; i++) {
if( yoil != 2 && yoil == idx[i] ) {
gap = i*2-yoil;
gap = 0-gap;
}
}
calendar.add(Calendar.DATE, gap);
setDate = formatter.format(calendar.getTime());
yoil = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("입력날짜:"+setDate + ", 요일:"+yoil);
return "";
}