■ Front-End ■/JavaScript

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

한길(One Way) 2023. 2. 28. 05:10

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

 

자바스크립트의 날짜문자열을 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