240727 객체 Date()

신한별·2024년 7월 26일

💪 매일 기록

목록 보기
29/97
// Date 
let myDate = new Date();

// new Date(milliseconds)
let myDate = new Date(1000); 
// 1000 밀리초만큼 지난 객체가 만들어짐 

// new Date('YYYY-MM-DD')
let myDate = new Date('2017-05-15');
// 2017-05-15T00:00:00.000Z

// new Date('YYYY-MM-DDThh:mm:ss')
let myDate = new Date('2017-05-15T01:14:15');
// 2017-05-14T16:14:15.000Z

// new Date(YYYY, MM, DD, hh, mm, ss, ms);
// YYYY, MM 필수. Month는 0부터 시작.

// Date.getTime()
let myDate = new Date(2017, 11, 25, 01, 14, 15);

myDate.getFullYear();
myDate.getMonth(); 
myDate.getDate();
myDate.getDay(); // 요일반환 0(일)~6(토)
myDate.getHours()
myDate.getMinutes();
myDate.getSeconds()
myDate.getMilliseconds();

Date.now()

메소드가 호출된 시점의 타임스탬프를 반환
새로운 객체를 만들지 않아도 바로 현 시점의 날짜 값을 얻을 수 있음.
순간순간 그 때 당시 시간 값이 필요한 경우에는 Date.now() 메소드를 활용

Date 객체 정보 수정

set을 활용하여 생성된 date 를 수정할 수 있다.

let myDate = new Date(2019, 11, 25, 19, 11, 16);

myDate.setFullYear(2002);
myDate.setMonth(6);
myDate.setDate(20);

시간 정보

let myDate = new Date();

console.log(myDate.toLocaleDateString()); // myDate가 가진 날짜에 대한 정보 (2024. 7. 27.)
console.log(myDate.toLocaleTimeString()); // myDate가 가진 시간에 대한 정보 (오후 10:31:17)
console.log(myDate.toLocaleString()); // myDate가 가진 날짜와 시간에 대한 정보 (2024. 7. 27. 오후 10:31:17)

Date 객체 형변환

let myDate = new Date(2019, 11, 25);
console.log(myDate.getTime() === Number(myDate)); // true

number 타입으로 변환할 경우 getTime() 메소드를 활용한 것과 똑같은 수치의 타임스탬프 값이다.

Date 객체 사이의 시간차이

Date 객체끼리 사칙연산을 할 수 있다.

let myDate1 = new Date(2025, 11, 25);
let myDate2 = new Date(2028, 11, 25);

let timeDiff = myDate2 - myDate1;
console.log(timeDiff); // 94694400000 (ms)
console.log(timeDiff / 1000); // 94694400 (sec)
console.log(timeDiff / 1000 / 60) // 1578240 (min)
console.log(timeDiff / 1000 / 60 / 60) // 26304 (hour)
console.log(timeDiff / 1000 / 60 / 60 / 24) // 1096 (date)

실습
오늘 날짜는 2112년 10월 24일이고, 민수의 입사일은 2107년 9월 1일입니다.
Date객체와 메소드를 활용해서 민수가 입사한 지 며칠째인지를 계산해주는 workDayCalc 함수를 완성하시오.
(10월 24일에 입사해서 오늘이 10월 24일이라면 0일이 아니라 입사한 1일째)

let today = new Date(2112,10,24);
let minsuStart = new Date(2107,9,1);

function workDayCalc(startDate) {
	let timeDiff = today.getTime() - startDate.getTime();
	let dayDiff = timeDiff / 1000 / 60 / 60 / 24 + 1;
	console.log(`오늘은 입사한 지 ${dayDiff}일째 되는 날 입니다.`);
}

workDayCalc(minsuStart);

0개의 댓글