JavaScript Date

이건선·2023년 2월 17일
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으로 채웁니다.

profile
멋지게 기록하자

0개의 댓글