js Date타입 날짜를 넘기고 해당 날짜에서 년,월,일,시,분,초를 추출해서 같이 넘긴 포맷에서 치환합니다.
/**
* 날짜 포맷 변경.
* @param date db타입이 date 타입인 데이터
* @param dateFormat 바꿀 date 형식 (YYYY, MM, DD, hh, mm, ss)와 섞어서 사용
* @returns {*}
*/
function fnSimpleFormatDate(date, dateFormat = 'YYYY년 MM월 DD일') {
if (!!!date) { // date가 빈 값일때
return '';
}
let toDate = new Date(date);
let returnDate = dateFormat;
let month = ('0' + (toDate.getMonth() + 1));
let convertDate = ('0' + toDate.getDate());
let hour = ('0' + toDate.getHours());
let minute = ('0' + toDate.getMinutes());
let seconds = ('0' + toDate.getSeconds());
const checkArr = ['YYYY', 'MM', 'DD', 'hh', 'mm', 'ss'];
returnDate = returnDate.replace('YYYY', toDate.getFullYear());
returnDate = returnDate.replace('MM', month.slice(-2, month.length));
returnDate = returnDate.replace('DD', convertDate.slice(-2, convertDate.length));
returnDate = returnDate.replace('hh', hour.slice(-2, hour.length));
returnDate = returnDate.replace('mm', minute.slice(-2, minute.length));
returnDate = returnDate.replace('ss', seconds.slice(-2, seconds.length));
checkArr.forEach((str) => {
if (!dateFormat.includes(str)) { // 매개변수 포맷 안에 있는 문자만 검사
return;
} else if (returnDate.includes(str)) { //치환되지 않은 문자가 있을때 빈 값 return
returnDate = '';
return false;
}
});
return returnDate;
}