자바스크립트의 날짜문자열을 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
'■ Front-End ■ > JavaScript' 카테고리의 다른 글
[JavaScript] 팝업(Popup)으로 폼(Form)값 넘기기 (0) | 2023.02.28 |
---|---|
[JavaScript] History, Screen, Navigator 브라우저 객체 예제 (0) | 2023.02.28 |
[JavaScript] Base64 Encode & Decode 예제 (0) | 2023.02.28 |
[JavaScript] 테이블에 롤오버/클릭 효과 (0) | 2023.02.28 |
[JavaScript] 이미지 업로드 하기전 표시하기 (ImageViewer ) (0) | 2023.02.28 |
댓글