티스토리 뷰
📌 Date
- 날짜와 시간을 위한 속성값과 메서드를 제공하는 객체
- Date 객체는 1970년 1월 1일 UTC(협정 세계시) 자정과의 시간 차이를 밀리초로 나타내는 정수값으로 표현한다
💛 new Date( )
// default
let date_now = new Date();
let date_now_str = Date();
console.log(date_now); // 2021-09-29T15:24:41.387Z
console.log(date_now_str); // Thu Sep 30 2021 00:24:41 GMT+0900 (Korean Standard Time)
console.log(typeof date_now); // object
console.log(typeof date_now_str); // string
💛 new Date(miniseconds)
// milliseconds (1/1000)sec
let date_ms_1 = new Date(0);
let date_ms_2 = new Date(24 * 3600 * 1000);
console.log(date_ms_1); // 1970-01-01T00:00:00.000Z
console.log(date_ms_2); // 1970-01-02T00:00:00.000Z
💛 new Date(dateString)
// date string
let date_str = new Date("2020-01-01");
console.log(date_str); // 2020-01-01T00:00:00.000Z
💛 new Date(year, month, date, hours, minutes, seconds, ms)
// year, month, ... , ms
let date_params_1 = new Date(2021, 0, 1);
let date_params_2 = new Date(Date.UTC(2021, 0, 1, 6, 12, 18, 24));
let date_params_3 = new Date(Date.UTC(2021, 0, 1));
console.log(date_params_1); // 2020-12-31T15:00:00.000Z
console.log(date_params_2); // 2021-01-01T06:12:18.024Z
console.log(date_params_3); // 2021-01-01T00:00:00.000Z
- 1월(0) ~ 12월(11): month는 1이 아닌 0을 입력해주어야 1월이 출력된다
- new Date(2021, 0, 1) 를 사용했지만 출력 결과를 살펴보면 2020년 12월 31일, 15:00에 해당하는 결과값이 반환되었다
- 이는 우리나라가 UTC1이 아닌 UTC0을 기준 삼기때문이다
- new Date(2021, 0, 1)을 new Date(Date.UTC(2021, 0, 1))으로 수정하면 원하는 값을 얻을 수 있다
💛 date.getFullYear(), date.getMonth(), date.getDay()
let date = new Date();
console.log(date); // 2021-09-29T15:32:47.985Z
// year, month, day : 0(sun) ~ 6(sat)
console.log(date.getFullYear()); // 2021
console.log(date.getMonth()); // 8
console.log(date.getDay()); // 4
💛 date.getUTCHours()
let date = new Date();
console.log(date); // 2021-09-29T15:32:47.985Z
// hours
console.log(date.getHours()); // 0
console.log(date.getUTCHours()); // 15
💛 date.getTime()
let date = new Date();
console.log(date); // 2021-09-29T15:32:47.985Z
// getTime
console.log(date.getTime()); // 1632929567985
💛 date.getTimezoneOffset()
let date = new Date();
console.log(date); // 2021-09-29T15:32:47.985Z
//getTimezoneOffset
console.log(date.getTimezoneOffset()); // -540
💛 date.setFullYear()
let date = new Date();
// set year
let ms_year = date.setFullYear(2020, 3, 15);
console.log(date); // 2020-04-14T15:40:21.647Z
console.log(new Date(ms_year)); // 2020-04-14T15:40:21.647Z
💛 date.setDate()
let date = new Date();
// set date
date.setDate(1);
console.log(date); // 2020-03-31T15:40:21.647Z
date.setDate(0); // 0을 넣어주면 1을 기준으로 직전 날을 표시한다
console.log(date); // 2020-03-30T15:40:21.647Z
💛 date.getHours()
let date = new Date();
// set hours
date.setHours(date.getHours() + 2);
console.log(date); // 2020-03-30T17:40:21.647Z
💛 Date.parse()
let ms_parse = Date.parse("2020-03-31T00:00:00.000");
console.log(ms_parse); // 1585580400000
console.log(new Date(ms_parse)); // 2020-03-30T15:00:00.000Z
console.log(new Date(Date.parse("2020-03-31T00:00:00.000Z")));
// 2020-03-31T00:00:00.000Z;
- 그 외 날짜 정보 설정 : Date.parse(YYYY-MM-DDTHH:mm:ss.sssZ)
- 문자열 기반 날짜 정보 설정 방법
- YYYY-MM-DD → 날짜(연-월-일)
- T → 구분자
- HH:mm:ss.sss → 시:분:초.밀리초
- Z (option) → 미설정하는 경우 현재 로컬 기준 UTC로, 설정한 경우 UTC+0 기준으로 시간 설정
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] Math (0) | 2021.10.19 |
---|---|
[JavaScript] Collection-Set (0) | 2021.10.17 |
[JavaScript] Collection-Map (0) | 2021.10.17 |
[JavaScript] 생성자 (0) | 2021.10.15 |
[JavaScript] 배열(Array) (0) | 2021.10.10 |
댓글