아래 소스는 제가 만든거니까 마음껏 긁어다 편집, 수정하셔도 됩니다.
1. 제목 : Javascript에서 날짜 가져오기 및 날짜 계산
2. 용도
(1) javascript에서 날짜 가져오기
- 예) 오늘날짜를 디폴트로 출력하고 싶은 경우
(2) javascript에서 날짜 계산하기
- 예) 오늘날짜로부터 1개월전 날짜를 가져오는 경우
3. 사용방법
alert("fnUtil.getDay('2019/08/06') ===" + fnUtil.getDay('2019-08-06'));
alert("fnUtil.getToday() ===" + fnUtil.getToday());
alert("fnUtil.addDate() 3년전===" + fnUtil.addDate("YEAR", -3, fnUtil.getToday()));
alert("fnUtil.addDate() 3개월전===" + fnUtil.addDate("MONTH", -3, fnUtil.getToday()));
alert("fnUtil.addDate() 3일전 ===" + fnUtil.addDate("DAY", -3, fnUtil.getToday()));
4. Javascript
...
<script type="text/javascript">
var fnUtil = {
getToday : function(){ // 오늘 날짜 가져오기
return fnUtil.getDateToStr(new Date());
},
getDay : function(dateStr){ // 날짜 포맷(yyyymmdd 또는 yyyy/mm/dd)를 yyyy-mm-dd의 포맷의 문자열로 가져오기
var returnVal = "";
if(dateStr != undefined && dateStr != ""){
returnVal = fnUtil.getDateToStr(fnUtil.getStrToDate(dateStr));
}
return returnVal;
},
addDate : function(ymd, num, dateStr){
var strDate = fnUtil.getStrToDate(dateStr);
switch (ymd.toUpperCase()){
case "YEAR" : // 계산하려는 년도에 12개월을 더하면 년도계산이 된다.
strDate.setMonth(strDate.getMonth() + (num * 12));
break;
case "MONTH" :
strDate.setMonth(strDate.getMonth() + num);
break;
case "DAY" :
strDate.setDate(strDate.getDate() + num);
break;
}
return fnUtil.getDateToStr(strDate);
},
getStrToDate : function(dateStr){ // 문자열을 날짜 Date로 변환
dateStr = dateStr.replace(/-/gi,"").replace(/\//gi,"");
// Javascript에서 문자열 형변환을 위해 *1을 하였으며, Javascript의 Date에서 Month는 -1 해주어야 한다.
return (new Date(dateStr.substr(0,4), (dateStr.substr(4,2) * 1 - 1), dateStr.substr(6,2)));
},
getDateToStr : function(strDate){ // 날짜 Data를 문자열로 변환
var year = strDate.getFullYear();
var month = '' + (strDate.getMonth() + 1);
var day = '' + strDate.getDate();
if (month.length < 2) {
month = '0' + month;
}
if (day.length < 2) {
day = '0' + day;
}
return [year, month, day].join('-');
}
}
</script>
...