
내장 객체 (Standard built-in object) : JS가 미리 가지고 있는 객체
- console.log()나 Date 등이 내장 객체
new Date(): 객체를 생성한 순간의 시간을 출력
let myDate = new Date();
console.log(myDate);
.
.
.
>>> 2023-11-19T03:56:35.900Z
new Date(숫자): UTC 기준 1970년 1월 1일 0시 0분 0초에서 넣어준 숫자 값의 밀리초만큼 지난 객체 생성let myDate = new Date(1000);
console.log(myDate);
.
.
.
>>> 1970-01-01T00:00:01.000Z
new Date('연도-월-일'): 해당 날짜에 대한 객체 생성let myDate = new Date('2023-11-19');
console.log(myDate);
.
.
.
>>> 2023-11-19T00:00:00.000Z
new Date('연도-월-일T시:분:초'): 해당 날짜 및 시간에 대한 객체 생성let myDate = new Date('2023-11-19T13:03:11');
console.log(myDate);
.
.
.
>>> 2023-11-19T13:03:11.000Z
new Date (YYYY, MM, DD, hh, mm, ss, ms)let myDate = new Date(2023, 10, 19);
console.log(myDate);
.
.
.
>>> 2023-11-19T00:00:00.000Z
let myDate = new Date(1988, 0, 32);
console.log(myDate)
.
.
.
>>> 1988-02-01T00:00:00.000Z
💡 아래와 같은 방법으로도 날짜 표현은 가능하지만, 브라우저나 사용 위치의 시간대에 따라 서로 다른 결과값이 나올 수 있으므로 사용 지양
let date1 = new Date('12/15/1999 05:25:30');
let date2 = new Date('December 15, 1999 05:25:30');
let date3 = new Date('Dec 15 1999 05:25:30');
Date 객체의 기준 날짜인 1970년 1월 1일 0시 0분 0초에 맞춰서, 몇 밀리초가 지났는 지 계산
이 정수값을 time stamp라고 부름.
let myDate = new Date(2017, 4, 18, 19, 11, 16);
let today = new Date();
let timeDiff = myDate.getTime() - today.getTime();
console.log(timeDiff + '밀리초');
console.log(timeDiff + '초');
console.log(timeDiff / 1000 / 60 + '분');
console.log(timeDiff / 1000 / 60 / 60 + '시간');
.
.
.
>>> -205232529304밀리초
-205232529304초
-3420542.1550666667분
-57009.03591777778시간
Date : 인식하는 일자Day : 요일 (일요일을 시작으로 0 ~ 6)let myDate = new Date(2017, 4, 18, 19, 11, 16);
console.log(myDate.getFullYear());
console.log(myDate.getMonth());
console.log(myDate.getDate());
console.log(myDate.getDay());
console.log(myDate.getHours());
console.log(myDate.getMinutes());
console.log(myDate.getSeconds());
console.log(myDate.getMilliseconds());
.
.
.
>>> 2017
4
18
4
19
11
16
0
타임스탬프를 반환let myDate = new Date();
console.log(Date.now() === myDate.getTime());
.
.
.
>>> true
let myDate = new Date(2017, 4, 18, 19, 11, 16);
console.log(myDate);
myDate.setFullYear(2002);
myDate.setMonth(6);
myDate.setDate(20);
console.log(myDate);
.
.
.
>>> 2017-05-18T19:11:16.000Z
2002-07-20T19:11:16.000Z
let myDate = new Date();
// myDate가 가진 날짜에 대한 정보 (년. 월. 일)
console.log(myDate.toLocaleDateString());
// myDate가 가진 시간에 대한 정보 (시:분:초)
console.log(myDate.toLocaleTimeString());
// myDate가 가진 날짜와 시간에 대한 정보 (년. 월. 일 시:분:초)
console.log(myDate.toLocaleString());
.
.
.
>>> 11/19/2023
4:28:30 AM
11/19/2023, 4:28:30 AM
let myDate = new Date(2017, 4, 18);
console.log(typeof myDate);
console.log(String(myDate));
console.log(Number(myDate));
console.log(Boolean(myDate));
.
.
.
>>> object
Thu May 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time)
1495065600000
true
let myDate1 = new Date(2017, 4, 18);
let myDate2 = new Date(2017, 4, 19);
let timeDiff = myDate2 - myDate1;
console.log(timeDiff);
console.log(timeDiff / 1000);
console.log(timeDiff / 1000 / 60);
console.log(timeDiff / 1000 / 60 / 60);
console.log(timeDiff / 1000 / 60 / 60 / 24);
.
.
.
>>> 86400000
86400
1440
24
1