■ Front-End ■/JavaScript

[JavaScript] 날짜계산 및 문자열 출력

한길(One Way) 2023. 2. 28.

자바스크립트는 객체 기반 함수형 스크립트 언어이며 웹에서 중요한 위치를 차지하고  있다.

 

자바스크립트의 날짜문자열을 Date로 변환해 날짜 계산을 하고 나서 다시 문자열로 변환하여 출력하는 예제이다.

  

▣ js_date.html

<!DOCTYPE html5>
<html>
<head>
<title>New Document</title>
<script language="JavaScript">
       // 날짜문자열을 반환
       function getDate2String(targetDate)
       {
               var year = targetDate.getFullYear();
               var month = targetDate.getMonth() + 1;
               var date = targetDate.getDate();
               var retval;
 
               if (month < 10)
                      month = "0" + month;
               if (date < 10)
                      date = "0" + date;
               retval = "" + year + month + date;
 
               return retval;
       }
 
       // 이전날을 반환
       function getPrevDay(dateval)
       {
               var year = dateval.substring(0, 4);
               var month = dateval.substring(4, 6);
               var date = dateval.substring(6, 8);
 
               var dt = new Date(Number(year), Number(month) - 1, Number(date));
               var processTime = dt.getTime() - (1 * 24 * 60 * 60 * 1000); // 하루 이전
 
               var newDate = new Date();
               newDate.setTime(processTime);
               return getDate2String(newDate);
       }
 
       // 다음날을 반환
       function getNextDay(dateval)
       {
               var year = dateval.substring(0, 4);
               var month = dateval.substring(4, 6);
               var date = dateval.substring(6, 8);
 
               var dt = new Date(Number(year), Number(month) - 1, Number(date));
               var processTime = dt.getTime() + (1 * 24 * 60 * 60 * 1000); // 하루 이후
 
               var newDate = new Date();
               newDate.setTime(processTime);
               return getDate2String(newDate);
       }
 
       window.onload = function()
       {
               var dateval = "20230228"; // 기준날짜
 
               document.getElementById("dt_now").innerHTML = "기준날짜 = " + dateval;
               document.getElementById("dt_prev").innerHTML = "하루 이전날짜 = " + getPrevDay(dateval);
               document.getElementById("dt_next").innerHTML = "하루 다음날짜 = " + getNextDay(dateval);
       }
</script>
</head>
 
<body>
       <h3>
               <br> <span id="dt_now"></span>
               <br> <span id="dt_prev"></span>
               <br> <span id="dt_next"></span>
       </h3>
</body>
</html>

 

▣ 결과화면

2023년 2월 28일을 기준날짜로 하고 하루이전과 하루다음날을 계산한다.

 

728x90

댓글