//생성한 순간
let nowDate = new Date();
console.log(nowDate)
//+ milliseconds
let afterDate = new Date(1000);
console.log(afterDate)
// Date+ 1초
//특정 날짜 생성 newDate('YYYY-MM-DD')
let someDate1 = new Date('2021-08-31);
//특정 날짜 생성 newDate('YYYY-MM-DDThh:mm:ss')
let someDate1 = new Date('2021-08-31T14:05:31);
let nowDate = new Date(YYYY,MM,DD,hh, mm, ss, ms)
nowDate.getFullYear(); //YYYY
nowDate.getMonth() //MM
nowDate.getDate() //DD
nowDate.getDay() //요일(일요일부터 0~6)
nowDate.getHours() //hh
nowDate.getMinutes(); //mm
nowDate.getSeconds(); //ss
nowDate.getMilliseconds() //ms
//[대괄호 요소]는 선택 요소
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)
//(1970년 1월 1일 00:00:00 UTC부터
밀리초 이후를 나타내는 날짜를 설정)
ex.
let myDate = new Date(2017, 4, 18, 19, 11, 16);
myDate.setFullYear(2002);
myDate.setMonth(6);
myDate.setDate(20);
let nowDate = new Date();
// myDate가 가진 날짜에 대한 정보 (년. 월. 일)
console.log(nowDate.toLocalDateString());
// myDate가 가진 시간에 대한 정보 (시:분:초)
console.log(nowDate.toLocaleTimeString());
// myDate가 가진 날짜와 시간에 대한 정보 (년. 월. 일 시:분:초)
console.log(nowDate.toLocaleString());
Date.now()를 통해 이 메소드가 호출된 시점의 타임스탬프를 반환한다.
새로운 객체를 만들어서 getTime 메소드를 호출한 값과 같다
let myDate = new Date(); console.log(Date.now() === myDate.getTime()); // true하지만 새로운 객체를 만들지 않는다는 장점이 있다.
1. 일단 우리 눈에 코드 한 줄을 줄일 수 있다
2. 코드가 실행될 때 메모리의 부담을 줄여준다.
그래서 특정한 시점이 아니라 단순히 순간순간 그 때 당시 시간 값이 필요한 경우에는 Date.now() 메소드를 활용하는 것이 코드의 가독성 뿐만아니라 성능적인 측면에서도 좀 더 유리하다!
Date객체의 형변환
let myDate = new Date(2017, 4, 18);
console.log(typeof myDate); // object
console.log(String(myDate)); // Thu May 18 2017 00:00:00 GMT+0900 (Korean Standard Time)
console.log(Number(myDate)); // 1495033200000 (=getTime())
console.log(Boolean(myDate)); // true