function dataTest() {
let firstDate = new Date(); // 2023-02-17T10:17:39.483Z
let secondDate = new Date(2023, 1 - 1, 18); // 2023-01-17T15:00:00.000Z
let thirdDate = new Date(secondDate); // 2023-01-17T15:00:00.000Z
thirdDate.setDate(thirdDate.getDate() + 97); // 1682348400000
let getMonth = (thirdDate.getMonth() + 1).toString().padStart(2, "0"); //04
let getDay = thirdDate.getDate().toString().padStart(2, "0"); // 25
console.log(getDay);
}
let secondDate = new Date(2023, 1 - 1, 18); 월 매개변수를 0부터 시작하는 인덱스로 취급합니다. 여기서 1월은 0, 2월은 1 입니다. 따라서 월 매개변수에 1을 전달하면 1월 대신 2월의 날짜가 생성됩니다. 이를 방지하기 위해 월 매개변수에서 1을 빼 해당 월에 대한 0부터 시작하는 인덱스를 얻습니다.
thirdDate.getDate() + 97은 일자를 증가시키며 해당 월을 넘는 숫자만큼 증가한다면 자동으로 월을 증가시키며 일자를 갱신합니다
(thirdDate.getMonth () + 1)는 thirdDate 날짜 객체의 월에 대한 1기준 인덱스를 반환하므로 1월은 0로, 2월은 1로 표시되는 식입니다. getMonth()의 결과에 1을 추가하면 올바른 월 번호를 얻을 수 있습니다.
.toString()은 월 번호를 문자열로 변환합니다.
.padStart(2, "0") 길이가 2가 되도록 앞에 오는 0으로 문자열을 채웁니다. 월 수가 10보다 작은 경우에 유용합니다. 여전히 결과 문자열이 두 자리 숫자를 갖기를 원하기 때문입니다.
thirdDate.getDate().toString().padStart(2, "0")은 일을 추출합니다. thirdDate 날짜 개체의 문자열로 변환하고 필요한 경우 선행 0으로 채웁니다.