
표준 내장 객체 내용은 다 외울건 아니고 그냥 이런게 있구나... 나중에 쓸 일 있으면 참고하려고 작성합니다.
새로운 데이터를 반환하는지, 원본 데이터를 수정하는지를 확인하기!
const date = new Date()
console.log(date) //Wed Aug 09 2023 15:13:27 GMT+0900 (한국 표준시)
Wed Aug 09 2023 15:13:27 GMT+0900 (한국 표준시)const d1 = new Date(2023, 08, 09, 12, 23, 30)
//Expected output
//Aug 09 2023 12:23:30
console.log(d1) //Sat Sep 09 2023 12:23:30 GMT+0900 (한국 표준시)
console.log(d1.getFullYear()) //2023
연도를 반환하거나 지정set 키워드로 시작하는 메소드를 사용하면 원하는 값으로 지정해서 날짜 데이터를 사용할 수 있다.const date = new Date()
console.log(date.getFullYear()) //2023
date.setFullYear(2024)
console.log(date.getFullYear()) //2024
console.log(date) //Fri Aug 09 2024 15:27:43 GMT+0900 (한국 표준시)
월(月)를 반환하거나 지정const date = new Date()
console.log(date.getMonth())
//Expected output : 8월
//Real output : 7 (zero-based-numbering)
date.setMonth(0) // 0 = 1월
console.log(date.getMonth()) //0 = 1월
console.log(date) //Mon Jan 09 2023 15:33:02 GMT+0900
일(日)를 반환하거나 지정시(時)를 반환하거나 지정const date = new Date()
console.log(date.getHours()) //15 (=오후 3시)
date.setHours(3)
console.log(date.getHours()) //3 (=오전 3시)
console.log(date) //Wed Aug 09 2023 03:38:04 GMT+0900 (한국 표준시)
분(分)를 반환하거나 지정초(秒)를 반환하거나 지정| 값 | 요일 |
|---|---|
| 0 | 일요일 |
| 1 | 월요일 |
| 2 | 화요일 |
| 3 | 수요일 |
| 4 | 목요일 |
| 5 | 금요일 |
| 6 | 토요일 |
const date = new Date()
console.log(date.getTime()) //1691566496498
console.log(date) //Wed Aug 09 2023 16:34:56 GMT+0900 (한국 표준시)
date.setTime(1700000000000)
console.log(date.getTime()) //1700000000000
console.log(date) //Wed Nov 15 2023 07:13:20 GMT+0900 (한국 표준시)
.getTime() 과 다른 점은 getTime() 은 날짜 인스턴스가 생성된 순간의 밀리초를 반환하고, Date.now()는 해당 메소드가 호출된 시점의 밀리초를 반환한다.예제
const time = new Date().getTime() console.log(Date.now()) //1691567030713 console.log(time) //1691567030713 setTimeout(() => { console.log(Date.now()) //1691567031716 console.log(time) //1691567030713 }, 1000)
time (=.getTime())은 setTimeout 함수 안에 들어가도 그 값이 변하지 않는다. 왜? 이미 new Date() 해서 생성된 순간의 밀리초가 기록되어 있기 때문.
반면,Date.now()는 해당 메소드가 호출되는 순간마다 다른 값을 가지게 되므로 setTimeout 함수 안에서 1초 뒤에 실행될 경우 이미 생성된 순간의 밀리초를 가진time보다 1초 느린 값을 갖게 된다.