-
[ JS ] Date 객체와 메서드Javascript/이론 2023. 1. 1. 19:04반응형
1. 객체 생성
1) 인수 없이 호출
현재 날짜 및 시간이 저장된 객체 반환
let date = new Date(); // Sun Jan 01 2023 17:54:39 GMT+0900 (한국 표준시) // 현재 날짜 및 시간이 저장된 객체 반환
2) 숫자 인수를 전달하여 호출
UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객체 반환
let date = new Date(24 * 3600 * 1000); console.log(date) // Fri Jan 02 1970 09:00:00 GMT+0900 (한국 표준시) // UTC 기준 1970년 1월 1일 0시 0분 0초에서 date 객체 생성시 전달한 arg 밀리초 후의 시점이 저장된 객체 반환
3) 문자열 인수를 전달하여 호출
주어진 인수에 해당하는 날짜가 저장된 객체 반환
let date = new Date("2017-01-26"); console.log(date) // Thu Jan 26 2017 09:00:00 GMT+0900 (한국 표준시) // 주어진 인수에 해당하는 날짜가 저장된 객체 반환
4) 여러 인수를 전달하여 호출
주어진 인수를 조합해 만들어진 날짜가 저장된 객체가 반환
new Date(year, month, date, houres, minutes, seconds, ms)
- year에 반드시 네자리의 숫자가 전달되어야 한다.
- month는 0(1월)부터 11(12월) 사이의 숫자를 전달해야 한다.
- date는 일을 나타내는데, 값이 없는 경우엔 1일로 처리된다.
- hours/minutes/seconds/ms에 값이 없는 경우엔 0으로 처리된다.
let date = new Date(2021, 5, 24, 5, 36, 12, 256) console.log(date) // Thu Jun 24 2021 05:36:12 GMT+0900 (한국 표준시)
2. Date 객체 메서드
1) 연도 - getFullYear()
let date = new Date(2021, 5, 24, 5, 36, 12, 256) console.log(date.getFullYear()) // 2021
2) 월 - getMonth()
let date = new Date(2021, 5, 24, 5, 36, 12, 256) console.log(date.getMonth()) // 5
3) 일 - getDate()
let date = new Date(2021, 5, 24, 5, 36, 12, 256) console.log(date.getDate()) // 24
4) 시, 분, 초, 밀리초 - getHours(), getMinutes(), getSeconds(), getMilliseconds()
let date = new Date(2021, 5, 24, 5, 36, 12, 256) console.log(date.getHours()) // 5 console.log(date.getMinutes()) // 36 console.log(date.getSeconds()) // 12 console.log(date.getMilliseconds()) // 256
5) 요일 키값 - getDay()
let date1 = new Date('2023-01-01') // Sun Jan 01 2023 09:00:00 GMT+0900 let date2 = new Date('2023-01-02') // Mon Jan 02 2023 09:00:00 GMT+0900 let date3 = new Date('2023-01-03') // Tue Jan 03 2023 09:00:00 GMT+0900 let date4 = new Date('2023-01-04') // Wed Jan 04 2023 09:00:00 GMT+0900 let date5 = new Date('2023-01-05') // Thu Jan 05 2023 09:00:00 GMT+0900 let date6 = new Date('2023-01-06') // Fri Jan 06 2023 09:00:00 GMT+0900 let date7 = new Date('2023-01-07') // Sat Jan 07 2023 09:00:00 GMT+0900 console.log(date1.getDay()) // 0 console.log(date2.getDay()) // 1 console.log(date3.getDay()) // 2 console.log(date4.getDay()) // 3 console.log(date5.getDay()) // 4 console.log(date6.getDay()) // 5 console.log(date7.getDay()) // 6 // 0 ~ 1(Sun ~ Sat에 대응)의 값으로 반환
* date 객체 자체가 요일값에 대응하는 문자열을 가지고 있으므로 입력한 날짜의 요일값을 문자열로 반환받고 싶다면, date객체에 .toString을 적용한 뒤 앞 3자리를 자르면 된다.
6) 1970-1-1 00:00:00 와의 간격 (milliseconds) - getTime(), Date.now(), +, -
// 인자값과 1970-1-1 00:00:00 사이의 차이를 밀리초로 반환 let date1 = new Date('2023-01-01') console.log(date1.getTime()) // 1672531200000 console.log(-date1) // -1672531200000 console.log(+date1) // 1672531200000 // 객체 생성 없이 현재와 1970-1-1 00:00:00 사이의 차이를 밀리초로 반환 console.log(Date.now()) // 1672566462853
7) 현지시간과 표준시간의 차이 - getTimezoneOffset()
let date1 = new Date('2023-01-01') console.log(date1.getTimezoneOffset()) // -540
8) 문자열을 통한 날짜 읽기 - Date.parse("YYYY-MM-DDTHH:mm:ss.sssZ")
- "T" : 구분 기호
- 'Z'(옵션) : +-hh:mm 형식의 시간대를 나타냄. Z 한 글자인 경우엔 UTC+0
let ms = Date.parse('2023-01-01T06:57:50.417-07:00'); console.log(ms); // 1672581470417
9) 날짜 구성요소 설정
- setFullYear(year[, month, date])
- setMonth(month[, date])
- setDate(date)
- setHours(hour[, min, sec, ms])
- setMinutes(min[, sec, ms])
- setSeconds(sec[, ms])
- setMilliseconds(ms)
- setTime(milliseconds)
반응형'Javascript > 이론' 카테고리의 다른 글
[ JS ] 이벤트 버블링(Bubbling) & 캡쳐링(Capturing) (0) 2023.03.11 [ JS ] rotate3d 값 얻기 (0) 2023.02.08 [ JS ] 표준 입력 - process.stdin (0) 2022.12.29 [JS] .length는 함수가 아니라 프로퍼티이다. (0) 2022.12.28 [JS] 정규 표현식의 패턴과 플래그 (0) 2022.12.21