boolean isAvailableDate(EventMainBean eventMain) throws Exception{
boolean result = false;
String pattern = "yyyyMMdd";
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(pattern, new Locale("ko","KOREA"));
Date stDate = formatter.parse(eventMain.getDistributionStDate());
Date edDate = formatter.parse(eventMain.getDistributionEdDate());
Calendar stDateInCalendar = (Calendar)calendar.clone();
stDateInCalendar.setTime(stDate);
Calendar edDateInCalendar = (Calendar)calendar.clone();
edDateInCalendar.setTime(edDate);
edDateInCalendar.add(Calendar.DATE, 1);
if ( calendar.after(stDateInCalendar) && calendar.before(edDateInCalendar) )
result = true ;
System.out.println(calendar.after(stDateInCalendar));
System.out.println(calendar.before(edDateInCalendar));
System.out.println(result);
return result;
}
2008년 2월 29일 금요일
JAVA : USE CALENDAR
2008년 2월 27일 수요일
2008년 2월 20일 수요일
JAVA : USE DATAFORMAT
자바에서 날짜와 시간을 표시하는 방법
1. java.util package에 있는 Data나 Calendar클래스를 이용하는 방법
2. java.text package에 있는 DateFormat, SimpleDateFormat, DateFormatSymbols 클래스들을 이용
[SimpleDateFormat 클래스] 원하는 시간, 날짜표기를 쉽게 할 수 있는 방법중의 하나로 원하는 포맷을 마음대로 지정할 수 있다.
import java.io.*; public class SimpleDateFormatTest { public static void main(String args[]){ public String ko(String en) { ** 참고 **
** 일반적으로 많이 사용되는 패턴들 **
|
2008년 2월 13일 수요일
JAVA SCRIPT - DYNAMIC TABLE
function addEventPresentRow() {
var row = document.createElement("tr");
var cell = document.createElement("td");
var cell2 = document.createElement("td");
var input = document.createElement("input");
input.setAttribute("type", "text");
input.setAttribute("name", "present");
var button = document.createElement('input');
if(button.getAttribute('onclick')){ //else IE
button.setAttribute('onclick','delRow(this)');
} else{ //IE
button = document.createElement("<input onclick=\"delRow(this) \">");
}
button.setAttribute("type", "button");
button.setAttribute("value", "-");
cell.appendChild(input);
row.appendChild(cell);
cell2.appendChild(button);
row.appendChild(cell2);
document.getElementById("targetBody").appendChild(row);
}
function delEventPresentRow(buttonObj) {
var tableBody = document.getElementById("targetBody");
var index = buttonObj.parentElement.parentElement.rowIndex;
tableBody.removeChild(tableBody.childNodes[index]);
}
2008년 2월 12일 화요일
JAVA SCRIPT - setAttribute: ONCLICK
당황스럽게도 IE에선 setAttribute에서 onclick을 사용하지 못한다.
다음과 같은 방법으로 우회하자.
var button = document.createElement('input');
if(obj.getAttribute('onclick')){ //IE 외
button.setAttribute('onclick',doDel(this)');
} else{ //IE
button = document.createElement('<input onclick="doDel(this)">');
}
button.setAttribute("type", "button");
button.setAttribute("value", "delete");
2008년 2월 11일 월요일
2008년 2월 3일 일요일
ORACLE - DECODE TIP
decode 문은 일반적으로 값을 치환하는데 쓰입니다.
* 컬럼 1개를 여러개의 값으로 비교할경우..
col1 의 값이 1,2,3 인경우 각각 'ONE', 'TWO', 'THREE' 로 변환하고자 한다면,
decode(col1, 1, 'ONE', 2, 'TWO', 3, 'THREE', 'MANY')
1,2,3 이 아닌경우는 'MANY' 가 되겠죠...
* 컬럼 여러개를 한개의 값으로 비교할경우
decode(2, col1, 'col1 is TWO', col2, 'col2 is TWO', null)
* 단방향 범위를 비교하는경우
만약 25 보다 큰경우엔 25 만 리턴하고 작은경우엔 해당컬럼의 값을
리턴하고자 한다면,
decode(sign(col1-25), -1, col1, 25)
처럼 사용하면 되겠죠.
* 다차원 통계에 응용(group by 와 조합)
그룹 아이디별로 합산하는 쿼리는 일반적으로 아래와같습니다.
select grp_id, sum(score)
from GRP_SCORE_TB
group by grp_id
만약..그룹별로 총계를 내고, 그룹별 총계 합산한 총합산을 내고싶다면?
다음과같이 카티션 곱을 응용하고, decode로 선택적인 그룹핑을 해주시면
됩니다.
select MAX(decode(gubun, 1, grp_id, '총계')),
sum(score)
from GRP_SCORE_TB
cross join (select level as gubun from dual connect by level < 3)
group by gubun, decode(gubun, 1, grp_id, null)
이려면,
a001 200
a004 122
a003 27
총계 347
과 같은 결과를 낼수 있습니다.
※ 몇가지 예로 decode 의 활용을 알아보았습니다. 이외에도 order by 등에도
사용하면, 위의 group by 에 사용한것처럼, 선택적인 sorting 이 이루어지게
이용될수도 있습니다.