Study Record

[JavaScript] 날짜와 시간 데이터 조작하기 - Date 객체 본문

웹/Javascript

[JavaScript] 날짜와 시간 데이터 조작하기 - Date 객체

초코초코초코 2025. 3. 13. 16:00
728x90

 

 

Date 객체

자바스크립트에서 date 형은 표준 데이터형으로 존재하지 않는다. 내장형 객체 Date 형을 사용하면 날짜를 표현하고 조작할 수 있다.

 

 

 Date 객체 생성하기

Date 객체는 문자열이나 배열 등과 같이 리터럴 표현이 존재하지 않으므로 객체의 생성에 반드시 생성자를 경유해야 한다. Date 객체 생성 방법은 다음과 같이 4가지가 있다.

var d = new Date();
var d2 = new Date('2025/03/13 15:30:24');

// Date(년, 월(0~11), 일, 시, 분, 초, 밀리초(생략가능))
var d3 = new Date(2025, 2, 13, 15, 30, 24);

// 타임스탬프값
var d4 = new Date(1480849635500);

 

 

 Data 객체 기본적인 사용법

var d = new Date('2025/03/13 15:30:24');

// 날짜 데이터 얻기
console.log(d);                // 2025-03-13T06:30:24.000Z
console.log(d.getDate());      // 13
console.log(d.getDay());       // 4(0: 일요일 ~ 6: 토요일)
console.log(d.getFullYear());  // 2025
console.log(d.getHours());     // 15
console.log(d.getMinutes());   // 30
console.log(d.getSeconds());   // 24
console.log(d.getMilliseconds());    // 0

// 협정세계시 : 국제적인 협정으로 정해진 공식 시각
console.log(d.getTime());            // 1741847424000

// 협정세계시와의 시차
console.log(d.getTimezoneOffset());  // -540

// UTC 시간 얻기
console.log(d.getUTCDate());      // 13
console.log(d.getUTCDay());       // 4(0: 일요일 ~ 6: 토요일)
console.log(d.getUTCFullYear());  // 2025
console.log(d.getUTCHours());     // 6
console.log(d.getUTCMinutes());   // 30
console.log(d.getUTCSeconds());   // 24
console.log(d.getUTCMilliseconds());    // 0

// 날짜 설정하기
var d2 = new Date();

d2.setFullYear(2014);  
d2.setMonth(3);        // 월(0~11)
d2.setDate(13);       
d2.setHours(14);
d2.setMinutes(28);
d2.setSeconds(33);
d2.getMilliseconds(1);

// 문자열 반환
console.log(d.toLocaleString());    // 2025. 3. 13. 오후 3:30:24
console.log(d.toUTCString());       // Thu, 13 Mar 2025 06:30:24 GMT
console.log(d.toDateString());      // Thu Mar 13 2025
console.log(d.toTimeString());      // 15:30:24 GMT+0900 (대한민국 표준시)
console.log(d.toLocaleDateString());   // 2025. 3. 13.
console.log(d.toLocaleTimeString());   // 오후 3:30:24
console.log(d.toJSON());               // 2025-03-13T06:30:24.000Z

// 협정세계시에서의 현재 날짜를 1970/01/01 00:00:00 로부터 경과 밀리초로 획득
console.log(Date.now());     // 1741848772600

// 날짜 문자열을 해석해 1970/01/01 00:00:00 로부터 경과 밀리초 획득
console.log(Date.parse('2016/11/15'));    // 1479135600000

// 날짜 정보를 기초로 1970/01/01 00:00:00 로부터 경과 밀리초 획득
console.log(Date.UTC(2025, 3, 2));        // 1743552000000

 

 

 날짜/시간 차이 구하기

var date1 = new Date(2022, 3, 5);
var date2 = new Date(2020, 7, 13);

// 밀리초 차이 / (1000밀리초 * 60초 * 60분 * 24시간)
var diff = (date1.getTime() - date2.getTime()) / (1000 * 60 * 60 * 24);

// 2022. 4. 5. 과 2020. 8. 13.의 날짜 차이는 600일이다.
console.log(`${date1.toLocaleDateString()} 과 ${date2.toLocaleDateString()}의 날짜 차이는 ${diff}일이다.`);
728x90