맨날 여기저기 찾아서 쓰다가 쓰다가 이제는 찾기 귀찮아서 일단 하나 만들어 놓고 쓰려고...
var date = {
/**
*
* @param date 현재 날짜(yyyyMMddhhmm형식)
* @param format (yyyyMMdd, yyyyMMddhhmm)
* @param splitStr (ko 또는 split할 문자)
* @returns {String}
*/
convertStrToDateFormat : function(date, format, splitStr){
var rtnDate = '';
if("yyyyMMdd" == format){
if(date.length >= 8){
if("" == splitStr){
rtnDate += date.substring(0, 4)+date.substring(4, 6)+date.substring(6, 8);
}else{
if("ko" == splitStr){
rtnDate += date.substring(0, 4) + "년 ";
rtnDate += date.substring(4, 6) + "월 ";
rtnDate += date.substring(6, 8) + "일";
}else{
rtnDate += date.substring(0, 4) + splitStr;
rtnDate += date.substring(4, 6) + splitStr;
rtnDate += date.substring(6, 8);
}
}
}else{
rtnDate = date;
}
}else if("yyyyMMddHHmm" == format){
if(date.length >= 12){
if("" == splitStr){
rtnDate += date.substring(0, 4)+date.substring(4, 6)+date.substring(6, 8)+date.substring(8,10)+date.substring(10,12);
}else{
if("ko" == splitStr){
rtnDate += date.substring(0, 4) + "년 ";
rtnDate += date.substring(4, 6) + "월 ";
rtnDate += date.substring(6, 8) + "일 ";
rtnDate += date.substring(8,10) + "시 ";
rtnDate += date.substring(10,12) + "분 ";
}else{
rtnDate += date.substring(0, 4) + splitStr;
rtnDate += date.substring(4, 6) + splitStr;
rtnDate += date.substring(6, 8) + " ";
rtnDate += date.substring(8,10) + ":";
rtnDate += date.substring(10,12);
}
}
}else{
rtnDate = date;
}
}else{
}
return rtnDate;
}
/**
* 날짜 계산
* @param interval 계산할 날짜
* @param field 계산할 년/월/일 YY/MM/DD
* @param splitStr (ko 또는 구분할 문자)
* @param format yyyyMMdd, yyyyMMddhh24miss
* @returns {String}
*/
, getIntervalDateWithFormat : function(splitStr, field, interval, format){
var rtnStr = "";
// 현재 날짜
var curDate = new Date();
var curYY = curDate.getFullYear();
var curMM = curDate.getMonth() + 1; //Months are zero based
var curDD = curDate.getDate();
var curHH = curDate.getHours();
var curMIN = curDate.getMinutes();
var curSS = curDate.getSeconds();
var curMS = curDate.getMilliseconds();
// 현재 날짜 기준 날짜 +-
if("YY" == field) curYY += parseInt(interval);
else if("MM" == field) curMM += parseInt(interval);
else if("DD" == field) curDD += parseInt(interval);
else if("HH" == field) curHH += parseInt(interval);
else if("MIN" == field) curMIN += parseInt(interval);
else if("SS" == field) curSS += parseInt(interval);
// +- 날짜
var rtnDate = new Date();
rtnDate.setFullYear(curYY, curMM, curDD);
rtnDate.setHours(curHH, curMIN, curSS, curMS);
// 자릿수 조정
var rtnYY = rtnDate.getFullYear();
var rtnMM = rtnDate.getMonth().toString().length == 1 ? "0" + rtnDate.getMonth() : rtnDate.getMonth();
var rtnDD = rtnDate.getDate().toString().length == 1 ? "0" + rtnDate.getDate() : rtnDate.getDate();
var rtnHH = rtnDate.getHours().toString().length == 1 ? "0" + rtnDate.getHours() : rtnDate.getHours();
var rtnMIN = rtnDate.getMinutes().toString().length == 1 ? "0" + rtnDate.getMinutes() : rtnDate.getMinutes();
var rtnSS = rtnDate.getMilliseconds().toString().length == 2 ? "0" + rtnDate.getMilliseconds() : rtnDate.getMilliseconds();
// 리턴 스트링 생성
if("" == splitStr){
rtnStr = rtnYY+rtnMM+rtnDD;
if("yyyyMMddhh24miss" == format){
rtnStr += rtnHH+rtnMIN+rtnSS;
}
}else{
if("ko" == splitStr){
rtnStr = rtnYY + "년 " + rtnMM + "월 " + rtnDD + "일";
if("yyyyMMddhh24miss" == format){
rtnStr += " " + rtnHH + "시 " + rtnMIN + "분 " + rtnSS + "초";
}
}else{
rtnStr = rtnYY + splitStr + rtnMM + splitStr + rtnDD;
if("yyyyMMddhh24miss" == format){
rtnStr += " " + rtnHH + ":" + rtnMIN + " " + rtnSS;
}
}
}
return rtnStr;
}
};
'KNOWHOW > front' 카테고리의 다른 글
금액 표시 콤마. 12345 -> 12,345 (0) | 2014.04.08 |
---|---|
javascript map (0) | 2014.04.08 |
이메일 형식 체크, 한글만 입력 허용 (1) | 2014.04.08 |
javascript 숫자, 문자에 콤마(comma) 추가 (0) | 2014.02.14 |
javascript 반올림/올림/내림 (0) | 2014.02.13 |